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);
        }
Exemple #3
0
        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));
        }
Exemple #8
0
 public bool Notify(TaskInpuModel inputModel, PerformContext context)
 {
     return(NotifyAsync(inputModel, context).Result);
 }
 public bool Run(TaskInpuModel inputModel, PerformContext context)
 {
     return(RunAsync(inputModel, context).Result);
 }