2012-03-21 90 views
2

我正在尋找一個輕量級系統,該系統可讓我排隊執行一次性(非循環)任務,並使其在未來的特定時間執行。針對一次性任務延遲執行的隊列建議

這是用於執行基於時間的任務的遊戲的後端。我需要服務器在完成時檢查用戶「作業」的狀態,並對他們的遊戲狀態執行必要的管理。

我對Redis,Celery,Beanstalkd,ZeroMQ等人有一定的瞭解,但是我沒有找到任何有關安排將來要執行的單個工作單元的信息。 (或者在設定的時間從隊列中彈出)Celerybeat有一個用於cron類型循環任務的調度器,但我沒有看到任何一次性的事情。

我也在* nix中看到過「at」命令,但我沒有意識到可以幫助我管理這些工作的任何前端。

我意識到有一些簡單的解決方案,例如在Redis中定購密鑰並執行阻塞流行,但我不想不斷輪詢隊列以查看下一個工作是否準備就緒。

我發現的最接近的是GAE上的延期庫,但我希望能夠在我自己的Linux機器上運行某些東西以及其他組件。

我會很感激任何建議!

+0

如果有人有興趣,我想我找到了我一直在尋找。 Beanstalkd有一個「延遲」參數,它將作業排入延遲隊列,並在指定的秒數後將其放入就緒隊列。 – Scott 2012-03-23 16:06:46

回答