Предложения очереди для отложенного выполнения для одноразовой задачи - PullRequest
2 голосов
/ 21 марта 2012

Я ищу облегченную систему, которая позволила бы мне поставить в очередь одноразовую (неповторяющуюся) задачу и выполнить ее в определенное время в будущем.

Это для серверной частиигры, в которой пользователь выполняет задачи, основанные на времени.Мне нужно, чтобы сервер проверял состояние «задания» пользователя во время завершения и выполнял необходимую служебную работу по состоянию его игры.

Я немного знаком с Redis, Celery, Beanstalkd, ZeroMQ и др.., но я не нашел никакой информации о планировании выполнения одной единицы работы в будущем.(или выскочить из очереди в установленное время) У Celerybeat есть планировщик для повторяющихся задач типа cron, но я ничего не видел для одноразовых.

Я также видел команду "at"в * nix, но я не знаю какого-либо внешнего интерфейса для этого, который мог бы помочь мне управлять заданиями.

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

Самым близким, что я нашел, является отложенная библиотека в GAE, но я надеялся, что что-то будет работать самостоятельноLinux box вместе с другими моими компонентами.

Буду признателен за любые предложения!

1 Ответ

0 голосов
/ 02 апреля 2012

Celery позволяет вам указать обратный отсчет или ETA при вызове задачи, которую нужно выполнить.

Документация говорит, что это лучше всего:

http://docs.celeryproject.org/en/latest/userguide/calling.html#eta-and-countdown

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...