Exemple #1
0
        int RetryCount = 5; //超时次数

        public ErrorWorkerProcess(IServiceProvider serviceProvider)
        {
            _serviceProvider = serviceProvider;
            _logger          = _serviceProvider.GetService <ILogger <WorkerProcess> >();
            _options         = _serviceProvider.GetService <RedisMessageBusOptions>();
            _redis           = _serviceProvider.GetService <ConnectionMultiplexer>();
            _database        = _redis.GetDatabase();
            _redisStorage    = _serviceProvider.GetService <RedisStorage>();

            ExecuteTimeoutMilliseconds = _options.ExecuteTimeoutSecond * 1000;
        }
        public WorkerProcess(IServiceProvider serviceProvider, string topic, string groupName, string consumerName)
        {
            _serviceProvider = serviceProvider;
            _logger          = _serviceProvider.GetService <ILogger <WorkerProcess> >();
            _options         = _serviceProvider.GetService <RedisMessageBusOptions>();
            _redis           = _serviceProvider.GetService <ConnectionMultiplexer>();
            _database        = _redis.GetDatabase();
            _taskExecutor    = _serviceProvider.GetService <MyMultithreadTaskExecutor>();

            _topic        = topic;
            _groupName    = groupName;
            _consumerName = consumerName;
            _redisStorage = _serviceProvider.GetService <RedisStorage>();

            BatchCount = _options.PerBatchPullCount > 0 ? _options.PerBatchPullCount : 100;
        }
 public RedisStorage(IServiceProvider serviceProvider, ConnectionMultiplexer redis, RedisMessageBusOptions options)
 {
     _serviceProvider               = serviceProvider;
     this._redis                    = redis;
     this._options                  = options;
     _database                      = redis.GetDatabase();
     _queueJobChannelSubscription   = new RedisSubscription(_serviceProvider, _redis.GetSubscriber(), Helper.GetQueueJobChannel(_options));
     _errorJobChannelSubscription   = new RedisSubscription(_serviceProvider, _redis.GetSubscriber(), Helper.GetErrorChannel(_options));
     _crontabJobChannelSubscription = new RedisSubscription(_serviceProvider, _redis.GetSubscriber(), Helper.GetCrontabChannel(_options));
     _delayJobChannelSubscription   = new RedisSubscription(_serviceProvider, _redis.GetSubscriber(), Helper.GetDelayChannel(_options));
 }