public JobGrainInMem(ServiceBusWrapper wrapper, IOptions <JobTrackerConfig> options, ILogger <JobGrainInMem> logger) { _wrapper = wrapper; _logger = logger; _options = options; }
public JobGrain(ServiceBusWrapper wrapper, IOptions <JobTrackerConfig> options, ILogger <JobGrain> logger, IMapper mapper) { _wrapper = wrapper; _logger = logger; _options = options; _mapper = mapper; }
public ActionHandlerService(IClusterClient orleansClient, IOptions <JobTrackerConfig> jobTrackerConfig, ServiceBusWrapper wrapper, ActionHandlerPool handlerPool, ILogger <ActionHandlerService> logger) { _orleansClient = orleansClient; _wrapper = wrapper; _logger = logger; _handlerPool = handlerPool; _jobTrackerConfig = jobTrackerConfig; }
public StateChecker( IClusterClient orleansClient, IOptions <JobTrackerConfig> jobTrackerConfig, ActionHandlerPool handlerPool, ServiceBusWrapper wrapper, ILogger <StateChecker> logger, IHostApplicationLifetime appLifetime) : base(appLifetime) { _orleansClient = orleansClient; _wrapper = wrapper; _jobTrackerConfig = jobTrackerConfig; _logger = logger; _handlerPool = handlerPool; }
public InProcessSilo(IOptions <JobTrackerConfig> jobTrackerConfigOptions, ServiceBusWrapper wrapper, IndexStorageAccountWrapper accountWrapper) { var siloConfig = jobTrackerConfigOptions.Value.SiloConfig; var jobEntityStorageOptions = new Action <AzureTableStorageOptions>(options => { options.ConnectionString = siloConfig.JobEntityPersistConfig.ConnStr; options.UseJson = siloConfig.JobEntityPersistConfig.UseJson; if (!string.IsNullOrEmpty(siloConfig.JobEntityPersistConfig.TableName)) { options.TableName = siloConfig.JobEntityPersistConfig.TableName; } }); var readOnlyJobIndexStorageOptions = new Action <AzureBlobStorageOptions>(options => { options.ConnectionString = siloConfig.ReadOnlyJobIndexPersistConfig.ConnStr; options.UseJson = siloConfig.ReadOnlyJobIndexPersistConfig.UseJson; if (!string.IsNullOrEmpty(siloConfig.ReadOnlyJobIndexPersistConfig.ContainerName)) { options.ContainerName = siloConfig.ReadOnlyJobIndexPersistConfig.ContainerName; } }); var builder = new SiloHostBuilder() .UseLocalhostClustering(11111, 30000, null, siloConfig.ServiceId, siloConfig.ClusterId) .ConfigureApplicationParts(parts => parts.AddApplicationPart(typeof(JobGrain).Assembly).WithReferences().WithCodeGeneration()) .AddAzureTableGrainStorage(Constants.JobEntityStoreName, jobEntityStorageOptions) .AddAzureTableGrainStorage(Constants.JobRefStoreName, jobEntityStorageOptions) .AddAzureTableGrainStorage(Constants.JobIdStoreName, jobEntityStorageOptions) .AddAzureTableGrainStorage(Constants.JobIdOffsetStoreName, jobEntityStorageOptions) .AddAzureBlobGrainStorage(Constants.ReadOnlyJobIndexStoreName, readOnlyJobIndexStorageOptions) .ConfigureServices(services => { services.AddSingleton(_ => jobTrackerConfigOptions); services.AddSingleton(_ => wrapper); services.AddSingleton(_ => accountWrapper); }) .Configure <GrainCollectionOptions>(options => { options.CollectionAge = siloConfig.GrainCollectionAge ?? TimeSpan.FromMinutes(10); options.ClassSpecificCollectionAge[typeof(AggregateJobIndexGrain).FullName ?? throw new InvalidOperationException()] = TimeSpan.FromMinutes(5); options.ClassSpecificCollectionAge[typeof(RollingJobIndexGrain).FullName ?? throw new
public static async Task Main(string[] args) { var logger = LoggerFactory.ConfigureLogger(); var configuration = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .AddCommandLine(args) .Build(); if (string.IsNullOrEmpty(configuration.Queue())) { Console.WriteLine("Please provide a queue name (--queue <name>)"); return; } var(source, error) = SourceProviderFactory.GetSourceProvider(); if (!string.IsNullOrEmpty(error)) { Console.WriteLine(error); return; } var serviceBusWrapper = new ServiceBusWrapper(configuration, logger); var target = new ServiceBusTarget(configuration, logger, serviceBusWrapper); logger.Info("Started loading data"); var batchCounter = 0L; var loadTimer = Stopwatch.StartNew(); await source.LoadBatches(batch => { loadTimer.Stop(); batchCounter++; logger.Info($"Sending batch {batchCounter}, load took: {loadTimer.Elapsed.TotalSeconds}s"); loadTimer.Restart(); return(target.SendBatch(batch)); }); }
public ServiceBusJobIdGrain(ServiceBusWrapper wrapper) { _wrapper = wrapper; }
public IdGenerator(ServiceBusWrapper wrapper, IOptions <JobTrackerConfig> options, ILogger <IdGenerator> logger) { _config = options.Value.IdGeneratorConfig; _wrapper = wrapper; _logger = logger; }