rake jobs:workを使って開発モードで実行しても問題はありません。しかし、私は何とかプロダクションでそれを使用する方法を理解することができません。私は展開のためにCapistranoを使用しています。本番環境でdelayed_jobをどのように実行すればよいですか?
アドバイスありがとうございます!
rake jobs:workを使って開発モードで実行しても問題はありません。しかし、私は何とかプロダクションでそれを使用する方法を理解することができません。私は展開のためにCapistranoを使用しています。本番環境でdelayed_jobをどのように実行すればよいですか?
アドバイスありがとうございます!
this answerを参照してください。簡単に言えば、Collective Idea fork of delayed_jobを使用してください。これにはdelayed_job
というスクリプトを使用できます。
私の最初の考えは、rake jobs:workタスクを実行するためにcapistranoでafter deployタスクを追加することです。プロセスがすでに実行されているかどうかを確認し、再起動する必要があります。
rakeで実行している場合は、cron経由で実行したいと思っていましたか?いつもの宝石は、ルビーからの素晴らしいインターフェースです。
非同期ジョブをスケジュールすると、スケジュールタスクを管理する必要がなくなります。あなたのサーバーをポーリングすることなくそれらのタスクをしたい場合、それは良い選択肢ではありません。 –
delayed_jobをgemとしてインストールする場合は、スクリプトscripts/delayed_jobを作成して実行権限を設定するためにジェネレータを実行する必要があります。
次に、How to configure Capistrano for Delayed Jobの指示に従って、Capistranoファイルに接続することができます。
次のように、生成されたdelayed_jobスクリプトを実行することができます
RAILS_ENV=production script/delayed_job start
希望これは私がこのフォークを使用し、これまでのところとても満足していた
に役立ちます。スクリプトはあなたが他の機能を必要としているかどうかを確認する便利な方法です。 – Mike