Esempio n. 1
0
        public async Task Execute(IJobExecutionContext context)
        {
            await _senderService.Process(context.CancellationToken);

            var config     = _configService.Config;
            var oldTrigger = await context.Scheduler.GetTrigger(new TriggerKey("SendPaymentsTrigger", "group1"));

            // obtain a builder that would produce the trigger
            var tb = oldTrigger.GetTriggerBuilder();

            var newTrigger = tb.StartAt(DateTime.Now.AddMinutes(config.SenderTimeout)).WithSimpleSchedule(x => x
                                                                                                          .WithIntervalInMinutes(config.SenderTimeout)
                                                                                                          .RepeatForever()).Build();

            await context.Scheduler.RescheduleJob(oldTrigger.Key, newTrigger);
        }