2012-03-21 93 views
2

我正在寻找一个轻量级系统,该系统可让我排队执行一次性(非循环)任务,并使其在未来的特定时间执行。针对一次性任务延迟执行的队列建议

这是用于执行基于时间的任务的游戏的后端。我需要服务器在完成时检查用户“作业”的状态,并对他们的游戏状态执行必要的管理。

我对Redis,Celery,Beanstalkd,ZeroMQ等人有一定的了解,但是我没有找到任何有关安排将来要执行的单个工作单元的信息。 (或者在设定的时间从队列中弹出)Celerybeat有一个用于cron类型循环任务的调度器,但我没有看到任何一次性的事情。

我也在* nix中看到过“at”命令,但我没有意识到可以帮助我管理这些工作的任何前端。

我意识到有一些简单的解决方案,例如在Redis中定购密钥并执行阻塞流行,但我不想不断轮询队列以查看下一个工作是否准备就绪。

我发现的最接近的是GAE上的延期库,但我希望能够在我自己的Linux机器上运行某些东西以及其他组件。

我会很感激任何建议!

+0

如果有人有兴趣,我想我找到了我一直在寻找。 Beanstalkd有一个“延迟”参数,它将作业排入延迟队列,并在指定的秒数后将其放入就绪队列。 – Scott 2012-03-23 16:06:46

回答