Как реализовать задержку ответов GAE?

Получив сообщение от клиента, я не хочу отвечать немедленно, я хочу подождать несколько секунд (случайное число секунд). Как мне это сделать? (Я использую Channel API, поэтому такая задержка должна быть приемлемой для клиента)


person LA_    schedule 23.02.2012    source источник


Ответы (2)


Вы можете просто заставить поток спать на некоторое время:

import thread

...

   thread.sleep(some_number_of_milliseconds)
person rmmh    schedule 23.02.2012
comment
Это лучше, чем использование очереди задач? (@Moishe рекомендовал использовать Task Queue там - stackoverflow.com/a/9420887/604388) - person LA_; 24.02.2012
comment
Не вызывает ли спящий режим проблем с производительностью/масштабируемостью, если приложение какое-то серьезное количество пользователей? (Особенно, когда время сна составляет несколько секунд.) - person jholster; 24.02.2012
comment
Разве это не будет считаться серверным временем? - person rbanffy; 24.02.2012

Отложенная встроенная библиотека будет работать лучше, чем спящий режим для App Engine, и ее проще настроить, чем очередь задач.

[https://cloud.google.com/appengine/articles/deferred][1]
person intotecho    schedule 05.07.2016