public ICommandResult DeleteJob(string name) { var queueParams = new QueueParams(name, hangfireOptions.Value.ServerName); var task = new ConsumerJobTask(queueParams, 0); return(jobManager.DeleteJob(task)); }
public async Task <ICommandResult> Execute(ConsumerJobTask task) { var saver = factory.GetSaver(task.QueueParameters.Name); ICommandResult result = new CommandResult { Success = true }; var approximateLength = await queue.GetQueueLength(task.QueueParameters.Name); for (int i = 0; i < approximateLength; i++) { var message = await queue.DequeueAsync(task.QueueParameters.Name); if (message != null) { result = await saver.Save(message); if (result.Success) { await queue.DeleteMessage(task.QueueParameters.Name, message); } } else { break; } } return(result); }
public ICommandResult TryCreateJob(string name, int interval) { CommandResult isAdded = new CommandResult(); var qName = new QueueParams(name, hangfireOptions.Value.ServerName); var initTask = new ConsumerJobTask(qName, interval); if (!CheckJobLimitExceeded(initTask)) { jobManager.AddJob(initTask); isAdded.Success = true; isAdded.Message = "Consumer created"; } else { isAdded.Message = "Job Limit Exceeded"; } return(isAdded); }