public string RunTask(TaskInpuModel inputModel) { var state = new EnqueuedState(JobQueues.Task); var jobId = jobClient.Create <ITaskJob>(job => job.Run(inputModel, null), state); return(jobId); }
public string NotifyTask(TaskInpuModel inputModel) { var state = new EnqueuedState(JobQueues.Notify); var jobId = jobClient.Create <INotifyJob>(job => job.Notify(inputModel, null), state); return(jobId); }
public Task <bool> NotifyAsync(TaskInpuModel inputModel, PerformContext context) { context.WriteLine("**** -------------------- Notifying Task -------------------- ****"); if (inputModel == null || inputModel?.Id == 0) { var jobId = context.BackgroundJob.Id; var result = jobManager.CancelJob(jobId); context.WriteLine(ConsoleTextColor.Red, $"Job {jobId} has been canceled."); context.WriteLine("**** ----------------------------------------------------- ****"); return(Task.FromResult(result)); } // Fake work Thread.Sleep(500); var now = dateService.GetNow(); context.WriteLine("Notifying of successful execution..."); context.WriteLine($"Date: {now}"); context.WriteLine($"Task ID: {inputModel.Id}"); if (inputModel.Tags != null) { var tags = string.Join(",", inputModel.Tags); context.WriteLine($"Tags: {tags}"); } context.WriteLine(); context.WriteLine("**** ----------------------------------------------------- ****"); return(Task.FromResult(true)); }
public string ProcessTask(TaskInpuModel inputModel) { var state = new EnqueuedState(JobQueues.Task); var jobId = jobClient.Create <ITaskJob>(job => job.Run(inputModel, null), state); state = new EnqueuedState(JobQueues.Notify); jobId = jobClient.ContinueWith <INotifyJob>(jobId, job => job.Notify(inputModel, null), state); return(jobId); }
public IHttpActionResult Run(TaskInpuModel inputModel) { var jobId = jobManager.RunTask(inputModel); return(Ok(jobId)); }
public IHttpActionResult Notify(TaskInpuModel inputModel) { var jobId = jobManager.NotifyTask(inputModel); return(Ok(jobId)); }
public IHttpActionResult Process(TaskInpuModel inputModel) { var jobId = jobManager.ProcessTask(inputModel); return(Ok(jobId)); }
public bool Notify(TaskInpuModel inputModel, PerformContext context) { return(NotifyAsync(inputModel, context).Result); }
public bool Run(TaskInpuModel inputModel, PerformContext context) { return(RunAsync(inputModel, context).Result); }