私は、遅くて遅いタスクを非同期に実行する必要があるRails 2.3.xアプリケーションに取り組んでいます。Railsで低速タスクを非同期に実行していますか?
処理が完了するまで要求を遅らせることは少し難しいです。我々は「OK、それを受け取り、それに取り組んでいます」というメッセージをクライアントに送り返すだけで満足しています。クライアントがいなくなったらすぐに仕事に取り掛かります。
私はこれを行うためのいくつかの方法(フォークやcronの使用など)を見てきましたが、タスクキューイングシステムが良いアイデアかもしれません。
三つの主要なものがあるように思え:
スパロウが原因Memcachedにとっての支援に特に面白そうだが、私情報に基づいた決定を下すことなく、ただ一つを選びたくはありません。誰かがベストプラクティスに関する洞察を持っていますか?私はあなたの上記の経験、特にこのアプローチや言及された図書館の大きな問題を聞いてみたいと思います。おそらくこれを行うためのさらに良い方法があります。私は完全に逃しましたか?
ちょうどそれがあります:現在、Rails 3.xはオプションではありませんが、これはRails 2.3.xで動作する必要があります。
ありがとうございます!
またお試しください:[navvy](https://github.com/jeffkreeftmeijer/navvy)と[delayed_job](https://github.com/tobi/delayed_job)は両方とも良い経験を持っていますが、特別な洞察はありません – iain
あなたはいつも自分で書くことができます。私の経験では、そうすることで、あなた自身の問題を解決するだけでなく、自分の問題をよりよく理解し、必要なものを正確に実行します。他の人々のソリューションを自分たちのわずかに異なる問題に読み替えるよりも時間がかかります。 – maerics