2009-07-25 3 views
2

В окне «Очереди задач» выполняется для подключения к серверной стороне через URL-адрес Fetch. Мой файл queue.yaml.Задачи задач GAE, как сделать задержку?

В таких настройках одновременно выполняется одновременное выполнение Tusk. Специфичность заключается в том, что между запросами должно быть отложено не менее 5 сек.. Задача должна выполняться на сцене с разницей> 5 сек. (но не является параллельным).

Каковы значения, заданные в queue.yaml?

ответ

3

Вы не можете указать минимальные задержки между задачами в queue.yaml, в настоящее время; вы должны сделать это (частично) в своем собственном коде. Например, если вы укажете размер ведра 1 (чтобы сразу не выполнялось несколько задач) и убедитесь, что задачи выполняются не менее 5 секунд (получите в начале start=time.time(), time.sleep(time.time()-(5+start))). должно сработать. Если это не так, сделайте каждую запись задачи в хранилище завершенной отметкой времени, и когда она начнется, проверьте, закончилась ли последняя задача менее 5 секунд назад, и в этом случае немедленно прекратите действие.

1

Другой способ хранения данных задачи в таблице. В вашей очереди задач добавьте параметр id. Извлечь 1-ю задачу из таблицы и передать ее идентификатор в сервлет обработки очереди задач. В сервлете при концевой задержке на 5 секунд и feth следующую задачу, передайте свой идентификатор и ... и так далее.

Смежные вопросы