Параллельные задачи, основанные на иерархии и запланированные - PullRequest
0 голосов
/ 03 ноября 2018

Я хочу добиться следующего:

Допустим, у меня есть следующие задачи:

# 1 Выполняется каждые 10 секунд.

# 2 Выполняется каждые 2 часа, требует согласованных результатов от # 1.

# 3 Выполняется каждый день в 10:00 и 22:00, требует согласованных результатов с # 1.

# 4 Выполняется каждое воскресенье в 22:00 и каждую пятницу в 22:00, требует согласованных результатов из № 1 и № 2.

# 5 Выполняется каждый 1-й день месяца, но для него требуются новейшие значения из # 2, и поэтому он будет выполняться # 2 перед выполнением самого себя.

Имея согласованные результаты, я имею в виду, что, например, # 2 не может запуститься, если # 1 работает, потому что в противном случае # 1 все еще может изменить некоторые переменные и поэтому необходимо дождаться завершения # 1.

Что касается # 5, я бы хотел, чтобы выполнение # 2 на # 5 не изменило запланированное выполнение # 2, поэтому, если # 5 запускает # 2, когда # 2 находится на расстоянии пяти минут от его выполнения 2h, # 2 будет работать снова через 5 минут.

Знаете ли вы, если такой планировщик задач уже существует или есть шаблон, который я могу реализовать для достижения вышеизложенного? Или вы можете дать мне несколько советов?

Заранее спасибо

...