Я ищу облегченную систему, которая позволила бы мне поставить в очередь одноразовую (неповторяющуюся) задачу и выполнить ее в определенное время в будущем.
Это для серверной частиигры, в которой пользователь выполняет задачи, основанные на времени.Мне нужно, чтобы сервер проверял состояние «задания» пользователя во время завершения и выполнял необходимую служебную работу по состоянию его игры.
Я немного знаком с Redis, Celery, Beanstalkd, ZeroMQ и др.., но я не нашел никакой информации о планировании выполнения одной единицы работы в будущем.(или выскочить из очереди в установленное время) У Celerybeat есть планировщик для повторяющихся задач типа cron, но я ничего не видел для одноразовых.
Я также видел команду "at"в * nix, но я не знаю какого-либо внешнего интерфейса для этого, который мог бы помочь мне управлять заданиями.
Я понимаю, что есть несколько простых решений, таких как упорядочение ключей в Redis и выполнение блокировки, но янам не нужно постоянно опрашивать очередь, чтобы узнать, готово ли следующее задание.
Самым близким, что я нашел, является отложенная библиотека в GAE, но я надеялся, что что-то будет работать самостоятельноLinux box вместе с другими моими компонентами.
Буду признателен за любые предложения!