Изящная обработка зависимых запланированных задач? - PullRequest
0 голосов
/ 07 октября 2008

Скажем, у меня есть два запланированных процесса: A и B.

Учитывая, что B не должен работать до тех пор, пока A не завершит работу, как я могу изящно применить эту зависимость?

Подходы, которые были рассмотрены:

  1. Есть график B по завершении. У этого недостатка B никогда не будет запланировано, если по какой-то причине произошел сбой A.

  2. Когда B запускается, попросите его пропинговать A, чтобы увидеть, завершился ли последний. То, как это может быть достигнуто (сеть, файл, запись в базе данных, очередь сообщений), может быть грязным и проблематичным с введением третьей зависимости.

  3. Объедините А и В в один процесс. Это имеет обратную сторону, заключающуюся в тесном связывании двух, что затрудняет повторное выполнение одного или другого в изоляции, если это необходимо.

Мысли

Ответы [ 2 ]

2 голосов
/ 07 октября 2008

Ваш вариант 1 прямо отвечает на ваш вопрос: если B зависит от A, и A терпит неудачу, A не планирует B означает, что B. не может произойти.

Если только Б не должен бежать за А, независимо от того, был ли А успешным.

В этом случае будет работать что-то вроде следующего (в bash):

A && B
1 голос
/ 07 октября 2008

Вы можете изменить шаг 3. Создайте два ваших процесса, чтобы они работали изолированно, а затем создайте третий процесс, который запускает два других.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...