Esempio n. 1
0
        public async Task <ActionResult> Stop(int id)
        {
            try
            {
                await _semaphore.WaitAsync();

                if (_sheduler.ScheduledRecurringMessage != null)
                {
                    SheduleConfig configs       = _sheduleConfig.Value;
                    ISendEndpoint _sendEndpoint = await _sendEndpointProvider.GetSendEndpoint(new Uri($"rabbitmq://{configs.Host}/{configs.QuartzQueue}"));

                    await _sendEndpoint.CancelScheduledRecurringSend(_sheduler.ScheduledRecurringMessage);

                    await _sendEndpoint.CancelScheduledRecurringSend(_sheduler.ScheduledRecurringMessage2);

                    _sheduler.ScheduledRecurringMessage  = null;
                    _sheduler.ScheduledRecurringMessage2 = null;
                }
            }
            finally
            {
                _semaphore.Release();
            }

            return(RedirectToAction(nameof(Get)));
        }