diff --git a/src/activities/Elsa.Activities.Temporal.Hangfire/Services/HangfireWorkflowDefinitionScheduler.cs b/src/activities/Elsa.Activities.Temporal.Hangfire/Services/HangfireWorkflowDefinitionScheduler.cs index be5541056..2f3df8a67 100644 --- a/src/activities/Elsa.Activities.Temporal.Hangfire/Services/HangfireWorkflowDefinitionScheduler.cs +++ b/src/activities/Elsa.Activities.Temporal.Hangfire/Services/HangfireWorkflowDefinitionScheduler.cs @@ -101,7 +101,11 @@ namespace Elsa.Activities.Temporal.Hangfire.Services _recurringJobManager.RemoveIfExists(job.Id); } - private IEnumerable QueryRecurringJobs() => _jobStorage.GetConnection().GetRecurringJobs().Where(x => x.Job.Type == typeof(RunHangfireWorkflowDefinitionJob)); + private IEnumerable QueryRecurringJobs() { + using (var connection = _jobStorage.GetConnection()) + return connection.GetRecurringJobs().Where(x => x.Job.Type == typeof(RunHangfireWorkflowDefinitionJob)); + } + private static RunHangfireWorkflowDefinitionJobModel GetJobModel(Job job) => (RunHangfireWorkflowDefinitionJobModel) job.Args[0]; private static RunHangfireWorkflowDefinitionJobModel CreateData(string workflowDefinitionId, string activityId, string? cronExpression = default) => new(workflowDefinitionId, activityId, cronExpression); diff --git a/src/activities/Elsa.Activities.Temporal.Hangfire/Services/HangfireWorkflowInstanceScheduler.cs b/src/activities/Elsa.Activities.Temporal.Hangfire/Services/HangfireWorkflowInstanceScheduler.cs index 7a47a0ae1..e0df9fcc2 100644 --- a/src/activities/Elsa.Activities.Temporal.Hangfire/Services/HangfireWorkflowInstanceScheduler.cs +++ b/src/activities/Elsa.Activities.Temporal.Hangfire/Services/HangfireWorkflowInstanceScheduler.cs @@ -101,7 +101,11 @@ namespace Elsa.Activities.Temporal.Hangfire.Services _recurringJobManager.RemoveIfExists(job.Id); } - private IEnumerable QueryRecurringJobs() => _jobStorage.GetConnection().GetRecurringJobs().Where(x => x.Job.Type == typeof(RunHangfireWorkflowInstanceJob)); + private IEnumerable QueryRecurringJobs() { + using (var connection = _jobStorage.GetConnection()) + return connection.GetRecurringJobs().Where(x => x.Job.Type == typeof(RunHangfireWorkflowInstanceJob)); + } + private static RunHangfireWorkflowInstanceJobModel GetJobModel(Job job) => (RunHangfireWorkflowInstanceJobModel) job.Args[0]; private static RunHangfireWorkflowInstanceJobModel CreateData(string workflowInstanceId, string activityId, string? cronExpression = default) => new(workflowInstanceId, activityId, cronExpression); }