public ScheduleTaskService(ILogger <ScheduleTaskService> logger,
                            AixScheduleTaskOptions options,
                            IScheduleTaskLifetime scheduleTaskLifetime,
                            IAixScheduleTaskRepository aixScheduleTaskRepository,
                            IAixDistributionLockRepository aixDistributionLockRepository,
                            IScheduleTaskDistributedLock scheduleTaskDistributedLock,
                            IAixScheduleTaskLogRepository aixScheduleTaskLogRepository,
                            MyMultithreadTaskExecutor taskExecutor,
                            ScheduleTaskExecutor scheduleTaskExecutor,
                            ExpireLogExecutor expireLogExecutor,
                            ErrorTaskExecutor errorTaskExecutor
                            )
 {
     _logger  = logger;
     _options = options;
     _scheduleTaskLifetime          = scheduleTaskLifetime;
     PreReadSecond                  = _options.PreReadSecond;
     _aixScheduleTaskRepository     = aixScheduleTaskRepository;
     _aixDistributionLockRepository = aixDistributionLockRepository;
     _scheduleTaskDistributedLock   = scheduleTaskDistributedLock;
     _aixScheduleTaskLogRepository  = aixScheduleTaskLogRepository;
     _taskExecutor                  = taskExecutor;
     _scheduleTaskExecutor          = scheduleTaskExecutor;
     _expireLogExecutor             = expireLogExecutor;
     _errorTaskExecutor             = errorTaskExecutor;
 }
 public ScheduleTaskExecutor(ILogger <ScheduleTaskExecutor> logger,
                             MyMultithreadTaskExecutor taskExecutor,
                             IAixScheduleTaskLogRepository aixScheduleTaskLogRepository,
                             AixScheduleTaskOptions aixScheduleTaskOptions
                             )
 {
     _logger       = logger;
     _taskExecutor = taskExecutor;
     _aixScheduleTaskLogRepository = aixScheduleTaskLogRepository;
     _options = aixScheduleTaskOptions;
 }
 public ExpireLogExecutor(ILogger <ExpireLogExecutor> logger,
                          IAixScheduleTaskLogRepository aixScheduleTaskLogRepository,
                          AixScheduleTaskOptions aixScheduleTaskOptions,
                          IScheduleTaskLifetime scheduleTaskLifetime
                          )
 {
     _logger = logger;
     _aixScheduleTaskLogRepository = aixScheduleTaskLogRepository;
     _options = aixScheduleTaskOptions;
     _scheduleTaskLifetime = scheduleTaskLifetime;
 }
 public ErrorTaskExecutor(ILogger <ErrorTaskExecutor> logger,
                          IAixScheduleTaskRepository aixScheduleTaskRepository,
                          IAixScheduleTaskLogRepository aixScheduleTaskLogRepository,
                          AixScheduleTaskOptions aixScheduleTaskOptions,
                          IScheduleTaskLifetime scheduleTaskLifetime,
                          ScheduleTaskExecutor scheduleTaskExecutor
                          )
 {
     _logger = logger;
     _aixScheduleTaskRepository    = aixScheduleTaskRepository;
     _aixScheduleTaskLogRepository = aixScheduleTaskLogRepository;
     _options = aixScheduleTaskOptions;
     _scheduleTaskLifetime = scheduleTaskLifetime;
     _scheduleTaskExecutor = scheduleTaskExecutor;
 }