Ejemplo n.º 1
0
        public void Cleanup()
        {
            var tmp = _queue1;

            _queue1 = _queue2;
            _queue2 = tmp;
            // shared aggregator is cleared, so messages with same key can be sent next frame
            _queue2.Cleanup();
        }
Ejemplo n.º 2
0
        public async Task Execute(IJobExecutionContext context)
        {
            _logger.LogInformation("Queue cleanup job run at: {Timestamp}", DateTime.UtcNow);
            var jobDataMap       = context.JobDetail.JobDataMap;
            var queueName        = jobDataMap.GetString(JobDataKeys.QueueName);
            var cleanUpBatchSize = jobDataMap.GetInt(JobDataKeys.CleanUpBatchSize);

            try {
                await _workItemQueue.Cleanup(cleanUpBatchSize);
            } catch (Exception exception) {
                _logger.LogError("An error occured while Cleaning up queue '{Queuename}'. Exception is: {Exception}", queueName, exception);
            }
        }