Twisted LoopingCall сериализуется при необходимости - PullRequest
0 голосов
/ 04 мая 2011

Я использую LoopingCall, чтобы получать задания для работника каждые X секунд, но могут быть случаи, когда работник не завершает предыдущее задание раньше, чем через X секунд, и тогда я хочу, чтобы LoopingCall не получил новую работу. По сути, я хочу, чтобы LoopingCall мог ждать еще один раунд, пока он не выполнит задание.

1 Ответ

4 голосов
/ 04 мая 2011

http://twistedmatrix.com/documents/current/api/twisted.internet.task.LoopingCall.html

Функция, которую вы вызываете LoopingCall, может возвращать отложенное. Перепланирование не произойдет до тех пор, пока не будет запущено отложенное действие.

У меня проблемы с пониманием вашего поста, но я думаю, что это то, что вы ищете. Попросите вашу рабочую функцию вернуть отложенный вызов LoopingCall и запустить его после завершения задания.

...