private void DeleteScheduledJob(RunHangfireWorkflowInstanceJobModel data) { var jobId = _jobStorage .EnumerateScheduledJobs <RunHangfireWorkflowInstanceJob, RunHangfireWorkflowInstanceJobModel>(x => x.WorkflowInstanceId == data.WorkflowInstanceId && x.ActivityId == data.ActivityId) .Select(x => x.Key) .FirstOrDefault(); if (jobId == null) { return; } DeleteScheduledJob(jobId); }
private void DeleteRecurringJob(RunHangfireWorkflowInstanceJobModel data) { var identity = data.GetIdentity(); _recurringJobManager.RemoveIfExists(identity); }
private void ScheduleRecurringJob(RunHangfireWorkflowInstanceJobModel data, string cronExpression) { var identity = data.GetIdentity(); _recurringJobManager.AddOrUpdate <RunHangfireWorkflowInstanceJob>(identity, job => job.ExecuteAsync(data), cronExpression); }
private void ScheduleJob(RunHangfireWorkflowInstanceJobModel data, Instant instant) => _backgroundJobClient.Schedule <RunHangfireWorkflowInstanceJob>(job => job.ExecuteAsync(data), instant.ToDateTimeOffset());