Как сделать таймер обратного отсчета на appengine?
Я разрабатываю приложение (на GAE), которому нужен таймер обратного отсчета и уведомляет клиентскую сторону, когда таймер достигает нуля.
Чтобы уведомить клиентскую сторону, я использую GAE Channel API .
есть идеи? (Учитывая ограничения GAE. Не используя Thread или Timer из Java API).
2 ответа
Я не знаю, насколько вам нужна надежность / точность, так или иначе, вот пара идей:
После сохранения локального времени сервера на memcache с соответствующим идентификатором клиента отправьте клиенту сообщение "запуск по таймеру" через API канала, обрабатывая его на стороне клиента с помощью некоторого счетчика Javascript. Когда таймер закончится или клиент выполнит свои обязанности, позвоните на сервер и выполните свою бизнес-логику.
Используйте параметр обратного отсчета TaskQueue, и перед отправкой клиенту сообщения "запуск по таймеру" добавьте задачу с заданным обратным отсчетом. Добавленная задача через n секунд будет запущена и должна отправить клиенту сообщение о таймере.
Разве вы не можете просто опросить информацию со стороны клиента? Или вы можете сделать задачу cron, которая запускается раз в минуту, и отправить соответствующее сообщение.
зависит от того, как часто вам нужно это делать, что вам нужно