Задача задает точное / приблизительное время выполнения - PullRequest
2 голосов
/ 22 марта 2011

Можно ли установить точное или хотя бы приблизительное время выполнения запланированного задания в GAE, которое будет выполняться с указанной скоростью (5 / с, 100 / ч)?

1 Ответ

6 голосов
/ 22 марта 2011

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

Если вам нужно сделать это программно (т. Е. Не достаточно регулярно использовать cron), тогда вы можете установить countdown для задачи Taskqueue, когда она создается, чтобы задерживать запуск задачи.

[обратный отсчет] Количество секунд в будущем, которое должно выполнить это задание, измеренное с момента вставки. В настоящее время по умолчанию используется ноль.

См. Задание

Допустим, сегодня вы хотите выполнить свою задачу в 17:00, вы можете вычислить приблизительное время, пока вы хотите, чтобы ваша задача выполнялась в секундах, а затем добавить задачу в очередь:

seconds_til_start = (datetime(2011,3,22,17,00) - datetime.now()).seconds
taskqueue.add(url='/yourtask', countdown=seconds_til_start)
...