Google App Engine, как планировать Crons один за другим - PullRequest
0 голосов
/ 15 марта 2012

Привет, бьюсь над проблемой.Я создал количество крон, и я, и я хочу запускать их один за другим в определенном порядке.Допустим, у меня есть кроны A, B, C и D, и я хочу запустить Cron B после завершения Cron A и после этого хочу запустить Cron D и после этого cron C. Я искал способ выполнить эту задачу, но не смог найтилюбой .Может ли кто-нибудь помочь?

Ответы [ 2 ]

2 голосов
/ 15 марта 2012

Если вы используете cron, то, я думаю, вы определили конечные точки, которые будет вызывать бегун cron ...

Используйте cron runner для запуска задачи A и позвольте ему добавить задачу в очередь задач для запуска B после ее завершения. Повторите для B и C.

Возможно, вы можете использовать те же конечные точки, которые вы использовали для заданий cron.

1 голос
/ 15 марта 2012

Хотя я согласен с предложениями в комментариях, я думаю, что у меня есть лучшее решение вашей проблемы (Надеюсь:))

Хотя в этом нет необходимости, вы можете использовать очередь запросов в своем приложении, чтобы упростить разработку своегопроблема.Шаблон, который я предлагаю, выглядит следующим образом:

1) Сервлет централизованно выполняет выполнение (назовем его контроллером) различных задач и предоставляется по URL-адресу

2) Задания инициируютсяконтроллер, нажав URL-адрес задания (при условии повторной очереди извлечения)

3) После завершения задания задание возвращается по URL-адресу контроллера, чтобы сообщить о завершении задания

4) Контроллер по очередиудаляет задание из очереди, которое выполнено, и добавляет следующее логическое задание в очередь

И это повторяется.

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

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