Пример #1
0
 public SlackService(ILogger <SlackService> logger,
                     ISlackBot bot,
                     IClock clock,
                     IMediator mediator,
                     ISubscriptionQueries subscriptionQueries,
                     IRateLimitQueries rateLimitQueries,
                     IAuthorizationQueries authorizationQueries,
                     IEventSubscriber eventSubscriber,
                     IApplicationEnder applicationEnder) : base(applicationEnder)
 {
     _logger               = logger ?? throw new ArgumentNullException(nameof(logger));
     _bot                  = bot ?? throw new ArgumentNullException(nameof(bot));
     _clock                = clock ?? throw new ArgumentNullException(nameof(clock));
     _mediator             = mediator ?? throw new ArgumentNullException(nameof(mediator));
     _subscriptionQueries  = subscriptionQueries ?? throw new ArgumentNullException(nameof(subscriptionQueries));
     _rateLimitQueries     = rateLimitQueries ?? throw new ArgumentNullException(nameof(rateLimitQueries));
     _authorizationQueries = authorizationQueries ?? throw new ArgumentNullException(nameof(authorizationQueries));
     _eventSubscriber      = eventSubscriber ?? throw new ArgumentNullException(nameof(eventSubscriber));
     _retryPolicy          = Policy.Handle <Exception>(ex => ex.GetType() != typeof(TaskCanceledException))
                             .WaitAndRetryAsync(10, _ => TimeSpan.FromSeconds(2),
                                                (ex, time) =>
     {
         _logger.LogError(ex, "Exception during NATS connection. Waiting {Time}...", time);
     });
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="applicationEnder"></param>
 /// <param name="logger"></param>
 /// <param name="serviceProvider"></param>
 /// <param name="periodicTaskFailureMode"></param>
 /// <param name="timeBetweenTasks"></param>
 public PeriodicTaskRunnerBackgroundService(
     IApplicationEnder applicationEnder,
     ILogger <PeriodicTaskRunnerBackgroundService <TPeriodicTask> > logger,
     IServiceProvider serviceProvider,
     PeriodicTaskFailureMode periodicTaskFailureMode,
     TimeSpan timeBetweenTasks) : base(applicationEnder)
 {
     this.logger                  = logger;
     this.serviceProvider         = serviceProvider;
     this.periodicTaskFailureMode = periodicTaskFailureMode;
     this.timeBetweenTasks        = timeBetweenTasks;
 }
 public DiscordServerHostedService(IApplicationEnder applicationEnder,
                                   ILogger <DiscordServerHostedService> logger,
                                   AppOptions options,
                                   DiscordSocketClient discordClient,
                                   CommandService commandService,
                                   CommandHandlingService commandHandlingService) : base(applicationEnder)
 {
     _logger                 = logger;
     _options                = options;
     _discordClient          = discordClient;
     _commandService         = commandService;
     _commandHandlingService = commandHandlingService;
 }
Пример #4
0
        public DiscordService(DiscordSocketClient discordSocketClient,
                              CommandService commands,
                              IServiceScopeFactory scopeFactory,
                              ILogger <DiscordService> loggerService,
                              IOptions <DiscordOptions> options,
                              IEventSubscriber eventSubscriber,
                              IApplicationEnder applicationEnder) : base(applicationEnder)
        {
            _commands        = commands;
            _scopeFactory    = scopeFactory;
            _logger          = loggerService;
            _options         = options.Value;
            _eventSubscriber = eventSubscriber;

            _discordSocketClient = discordSocketClient;
            _retryPolicy         = Policy.Handle <Exception>(ex => ex.GetType() != typeof(TaskCanceledException))
                                   .WaitAndRetryAsync(10, _ => TimeSpan.FromSeconds(2),
                                                      (ex, time) =>
            {
                _logger.LogError(ex, "Exception during NATS connection. Waiting {Time}...", time);
            });
        }
 public NexusModsIssueMonitor(ILogger <NexusModsIssueMonitor> logger, IClock clock, IServiceScopeFactory scopeFactory, IApplicationEnder applicationEnder) : base(applicationEnder)
 {
     _logger       = logger ?? throw new ArgumentNullException(nameof(logger));
     _clock        = clock ?? throw new ArgumentNullException(nameof(clock));
     _scopeFactory = scopeFactory ?? throw new ArgumentNullException(nameof(scopeFactory));
     _timeLimiter  = TimeLimiter.GetFromMaxCountByInterval(1, TimeSpan.FromSeconds(90));
 }
Пример #6
0
 public YieldingAndThenCrashingCriticalBackgroundService(IApplicationEnder lifeTime) : base(lifeTime)
 {
 }
Пример #7
0
 public ImmediatelyCrashingCriticalBackgroundService(IApplicationEnder lifeTime) : base(lifeTime)
 {
 }
Пример #8
0
 public StubCriticalBackgroundService(IApplicationEnder applicationEnder) : base(applicationEnder)
 {
 }
Пример #9
0
 public YieldingAndThenCrashingCriticalBackgroundService(IApplicationEnder applicationEnder) : base(applicationEnder)
 {
 }
Пример #10
0
 public ImmediatelyCrashingCriticalBackgroundService(IApplicationEnder applicationEnder) : base(applicationEnder)
 {
 }
Пример #11
0
 /// <summary>
 /// </summary>
 protected CriticalBackgroundService(IApplicationEnder applicationEnder)
 {
     this._applicationEnder = applicationEnder;
 }
Пример #12
0
 public SomeBackgroundService(IApplicationEnder applicationEnder) : base(applicationEnder)
 {
 }