private ChangeFeedProcessor(string name, string siloName,
                                    CosmosDBStreamOptions options, IServiceProvider serviceProvider,
                                    TaskScheduler scheduler, IStreamMapper mapper)
        {
            var loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>();

            this._name         = name;
            this._siloName     = siloName;
            this._scheduler    = scheduler;
            this._grainFactory = serviceProvider.GetRequiredService <IGrainFactory>();
            this._logger       = loggerFactory.CreateLogger($"{nameof(ChangeFeedProcessor)}-{name}");
            this._mapper       = mapper;
            this._options      = options;
            this._ctsClose     = new CancellationTokenSource();
            this._checkpointer = new ChangeFeedCheckpointer(loggerFactory, this._options);
        }
 /// <summary>
 /// Factory method to create a new IProcessor instances
 /// </summary>
 /// <param name="name">Name of the stream provider</param>
 /// <param name="siloName">This Silo name</param>
 /// <param name="options">Configuration for both the monitored and lease collections</param>
 /// <param name="serviceProvider">DI container</param>
 /// <param name="scheduler">Orleans Task Scheduler</param>
 /// <param name="mapper">The IStreamMapper implementation</param>
 /// <returns>IProcessor implementation</returns>
 public static IProcessor Create(string name, string siloName, CosmosDBStreamOptions options, IServiceProvider serviceProvider, TaskScheduler scheduler, IStreamMapper mapper)
 {
     return(new ChangeFeedProcessor(name, siloName, options, serviceProvider, scheduler, mapper));
 }
 public ChangeFeedCheckpointer(ILoggerFactory loggerFactory, CosmosDBStreamOptions options)
 {
     this._interval = options.CheckpointInterval;
     this._logger   = loggerFactory.CreateLogger <ChangeFeedCheckpointer>();
     this._batches  = new ConcurrentQueue <BatchRegistry>();
 }
Example #4
0
 public IdBasedStreamMapper(IOptions <CosmosDBStreamOptions> options, ILoggerFactory loggerFactory)
 {
     this._options = options.Value;
     this._logger  = loggerFactory.CreateLogger <IdBasedStreamMapper>();
 }