В настоящее время график работ может содержать не более одной активной работы в любой момент времени ( ссылка ), поэтому ожидаемое поведение ожидается.
Мы неесть любая простая функция, которую вы можете просто «включить» для одновременного выполнения заданий из одного расписания заданий - но у меня есть предложение:
Вместо использования JobSchedule для непосредственного запуска всей обработки, используйте его для создания«рабочие» задания, которые выполняют обработку.
Например,
- В 10:03 в вашем расписании запускается создание задания
processing-20191031-1003
. - в 10: 04:00, ваш график работы вызывает создание задания
processing-20191031-1004
. - В 10:05, ваш график работы запускается для создания задания
processing-20191031-1005
. - и т. Д.
Поскольку единственное, что делает ваше рабочее расписание, это создает другое задание , оно очень быстро завершается, обеспечивая своевременное создание следующего задания.
Поскольку ваши существующие заданияуже создать переменное количество задач (вы сказали 3-10 задач, выше), я надеюсь, чтоЭто не будет очень сложным изменением для вашего кода.
Обратите внимание, что вам нужно будет убедиться, что ваши параллельные рабочие задания не наступают друг на друга, пытаясь выполнять одну и ту же работу несколько раз.