我正在開發一個Rails 2.3.x應用程序,它需要異步運行一個長而慢的任務。在Rails中異步運行緩慢的任務?
延遲請求直到處理完成有點痛苦。我們很高興發送一個「好的,我們已經收到了,我們正在對此進行處理」式回覆客戶,然後在客戶離開後立即關閉工作。
所以我見過一些這樣做的方法(如分叉或使用cron),但似乎任務排隊系統可能是一個更好的主意。
這似乎是三個主要的有:
麻雀看起來特別有趣的是由於對Memcached它的支持,但我不想在沒有做出明智決定的情況下選擇一個。有沒有人有關於最佳實踐的見解?我很想聽聽你有關上述的經驗,尤其是使用這種方法或提到的圖書館的任何重大問題。也許有更好的方法來做到這一點,我完全錯過了?
就這樣:Rails 3.x現在不是一個選項,這需要Rails 2.3.x的工作。
謝謝!
另請嘗試:[挖掘](https://github.com/jeffkreeftmeijer/navvy)和[delayed_job](https://github.com/tobi/delayed_job)與他們有良好的經驗,但沒有特別的見解 – iain 2010-12-16 01:10:13
你可以隨時寫自己的。根據我的經驗,通過這樣做,您可以更好地瞭解自己的問題以及解決方案,並且它將完全滿足您的需求。比閱讀其他人的解決方案來解決他們自己稍有不同的問題花費的時間要好得多。 – maerics 2010-12-16 06:18:32