Я внедрил Hangfire в свой проект. Теперь мне нужно поставить в очередь несколько заданий, которые технически будут частью пакета. Компания не станет покупать Pro версию Hangfire, которая предлагает пакетную функциональность. Есть ли обходной путь, чтобы я мог определить, когда все связанные задания завершены, чтобы я мог вызывать другую функцию в самом конце каждого пакета?
Пример:
Batch A:
{
BackgroundJob.Enqueue(jobA1);
BackgroundJob.Enqueue(jobA2);
BackgroundJob.Enqueue(jobA3);
}
When Batch A is all done:
BackgroundJob.Enqueue(createReportForBatchA);
Batch B:
{
BackgroundJob.Enqueue(jobB1);
BackgroundJob.Enqueue(jobB2);
BackgroundJob.Enqueue(jobB3);
}
When Batch B is all done:
BackgroundJob.Enqueue(createReportForBatchB);
Единственное, о чем я могу придумать, - это установить флаг «Готово» для каждого задания в пакете и в конце каждого задания в пакетной проверке, все ли задания завершены, путем проверки флага для всех связанных с пакетом строк в таблице, тогда, если поэтому поставьте createReportForBatch в очередь. Кажется хакерским, хотя делать это, а затем я должен был бы поднять вопрос, могу ли я поставить фоновое задание в очередь в другом BackgroundJob (в основном вложенном). Спасибо за любой вклад или совет.