public ICommandResult DeleteJob(string tag)
        {
            var qParams = new QueueParams(tag, hangfireSettings.Value.ServerName);
            var task    = new TwitterJobTask(new HashTagWord(tag), qParams, 0);

            return(jobManager.DeleteJob(task));
        }
예제 #2
0
 public override void Execute(
     Japi.Job job,
     Action<string> updateStatus,
     IRepository repositoryService,
     IJobManager jobManager)
 {
     jobManager.DeleteJob();
 }
예제 #3
0
        public DownloadItemViewModel(Job job)
        {
            Job = job;
            Job.WhenAnyValue(j => j.Status).StartWith(job.Status).Subscribe(OnStatusUpdated);

            // update progress every 300ms
            Job.WhenAnyValue(j => j.TransferPercent)
            .Sample(TimeSpan.FromMilliseconds(300))
            .Where(x => !job.IsFinished)
            .Subscribe(progress => {
                // on main thread
                System.Windows.Application.Current.Dispatcher.Invoke(() => {
                    DownloadPercent          = progress;
                    DownloadPercentFormatted = $"{Math.Round(DownloadPercent)}%";
                });
            });

            // update download speed every 1.5 seconds
            var  lastUpdatedProgress = DateTime.Now;
            long bytesReceived       = 0;

            Job.WhenAnyValue(j => j.TransferPercent)
            .Sample(TimeSpan.FromMilliseconds(1500))
            .Where(x => !job.IsFinished)
            .Subscribe(progress => {
                // on main thread
                System.Windows.Application.Current.Dispatcher.Invoke(() => {
                    var timespan = DateTime.Now - lastUpdatedProgress;
                    var bytespan = Job.TransferredBytes - bytesReceived;

                    if (timespan.TotalMilliseconds > 0)
                    {
                        var downloadSpeed      = 1000 * bytespan / timespan.TotalMilliseconds;
                        DownloadSpeedFormatted = $"{downloadSpeed.Bytes().ToString("#.0")}/s";
                    }

                    bytesReceived       = Job.TransferredBytes;
                    lastUpdatedProgress = DateTime.Now;
                });
            });

            // update initial size only once
            Job.WhenAnyValue(j => j.TransferSize).Select(size => size.Bytes().ToString("#.0")).ToProperty(this, vm => vm.DownloadSizeFormatted, out _downloadSizeFormatted);

            // abort job on command
            CancelJob = ReactiveCommand.Create(() => { Job.Cancel(); });

            // retry job
            RetryJob = ReactiveCommand.Create(() => { JobManager.RetryJob(Job); });

            // delete job
            DeleteJob = ReactiveCommand.Create(() => { JobManager.DeleteJob(Job); });

            // setup icon
            SetupFileIcon();
        }
예제 #4
0
        public async Task <ActionResult <JobDTO> > DeleteJob(int id)
        {
            var job = await _context.DeleteJob(id);

            if (job == null)
            {
                return(NotFound());
            }


            return(job);
        }
        public async Task <IActionResult> DeleteJob(int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (await _manager.DeleteJob(id))
            {
                return(StatusCode(217));
            }
            else
            {
                return(StatusCode(303));
            }
        }
예제 #6
0
        /// <summary>
        /// 删除Job
        /// </summary>
        /// <param name="input"></param>
        public bool DeleteJob(JobInfoInputDto input)
        {
            var job = _jobInfoRepository.Get(x => x.JobName.Equals(input.jobname) && x.JobGroup.Equals(input.jobgroup));

            if (job == null)
            {
                return(false);
            }

            var result        = _jobManager.DeleteJob(input.jobname, input.jobgroup).Result;
            var trigger_state = _jobManager.GeTriggerState(input.jobname, input.jobgroup);

            if (trigger_state != TriggerState.None)
            {
                return(false);
            }
            job.IsDelete   = 1;
            job.JobStatus  = (int)TriggerState.None;
            job.UpdateTime = DateTime.Now;
            _jobInfoRepository.Update(job);
            return(_jobInfoRepository.SaveChanges() > 0);
        }