private void AddJob(IJobTask task) { var qParams = new QueueParams(task.Tag.NoHashTag, hangfireSettings.Value.ServerName); task = new TwitterJobTask(task.Tag, qParams, settings.Value.TwitterMessagePublishDelay); jobManager.AddJob(task); }
public ICommandResult DeleteJob(IJobTask task) { RecurringJob.RemoveIfExists(task.JobId); return(new CommandResult { Success = true }); }
public void Execute() { StartExecute(); foreach(var task in JobTasks()) { if(task == null) { continue; } if (m_cancelToken.IsCancellationRequested) { CancelExecute(); break; } this.m_lastJobTask = task; this.OutCome = task.Execute(m_cancelToken.Token); if (this.OutCome != JobStepOutCome.Succeeded) { break; } } CompleteExecute(); }
private bool CheckJobLimitExceeded(IJobTask task) { var list = accessor.GetJobsList(); var isValid = list.Any(x => x.Id.Equals(task.JobId)); return(isValid || list.Count >= appSettings.Value.MaxReccuringJobsSupported); }
public void Execute() { StartExecute(); foreach (var task in JobTasks()) { if (task == null) { continue; } if (m_cancelToken.IsCancellationRequested) { CancelExecute(); break; } this.m_lastJobTask = task; this.OutCome = task.Execute(m_cancelToken.Token); if (this.OutCome != JobStepOutCome.Succeeded) { break; } } CompleteExecute(); }
public static void Run(IJobTask jobTask) { Task task = new Task(jobTask.Execute, jobTask); task.ContinueWith(jobTask.CallBack); task.Start(); }
public Job(IJobTask task, DateTime timeStart, double interval, int intervalType, string name, object taskParameters, string key = null) { Name = name; TaskParameters = taskParameters; Task = task; Schedule = new Schedule(timeStart, intervalType, interval); Key = key ?? Guid.NewGuid().ToString(); }
public ICommandResult AddJob(IJobTask task) { RecurringJob.AddOrUpdate <ITwitterJob>( task.JobId, x => x.Execute((TwitterJobTask)task), Cron.MinuteInterval(task.Interval)); return(new CommandResult { Success = true }); }
static void RunJob(Object state) { try { JobConfig config = (JobConfig)state; IJobTask job = (IJobTask)Activator.CreateInstance(Type.GetType(config.TypeName)); job.Init(config); job.Run(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } }
public IJobTask CreateTask(IContext db, JobStep taskStep) { IJobTask task = null; if (taskStep == null) { return(null); } if (m_taskPlugins.ContainsKey(taskStep.SubSystem) == false) { m_logger.Warn("Unable to locate specified Subsystem [{0}]", taskStep.SubSystem); return(null); } var t = m_taskPlugins[taskStep.SubSystem]; task = (IJobTask)Activator.CreateInstance(t); return(task.Create(db, taskStep, m_logger)); }
public async Task Execute(IServiceProvider serviceProvider) { AuditStart(); using (var scope = serviceProvider.CreateScope()) { IJobTask executorTask = scope.ServiceProvider.GetRequiredService <ServiceResolver>()(this.MetaData.Name); try { await executorTask.Worker(); AuditSuccess(); } catch (Exception e) { // save error details AuditFail(e.Message); } } }
public ICommandResult ReconfigureJob(IJobTask task) { throw new NotImplementedException(); }
public async Task <ICommandResult> StartNow(IJobTask task) { return(await job.Execute((TwitterJobTask)task)); }
public void RunTask(Task task) { task.Start(); IJobTask jobTask = (IJobTask)task.AsyncState; }