:非同期キューアダプタは実際に何かを行いますか?Rails非同期アクティブジョブはコードを実行しませんが、インラインは実行します
:Rails 4のデフォルトであるinlineは、ActiveJobで構築されたジョブ(現行の実行スレッド内のUh ...インライン)を処理します。非同期ではありません。 ConnectionPoolを使用して現在のスレッドで実行しないと、理想的には何が起きているのでしょうか。現在の実行スレッドの外側で実行されます。
しかし、それを実行するものはありません。
私はドキュメントを徹底的に吟味しました。私が考えることができるのは、asyncはインラインで、タスクを実行せず、ローカルで実行するシステムを構築することを期待しています。ローカルで実行させるには、すべてのジョブで手動でperform
を実行する必要があります。アダプタをインラインに設定すると、実行せずに正常に動作します。
非同期が正常に動作しないように設定されています(ActionCableなど)。
レーキタスク(またはコンソール?)から実行すると機能しません。
これはうまく動作します:sidekiq /:resqueですが、これらはローカルでは常に実行したくありません。
Rails by default comes with an "immediate runner" queuing implementation. That means that each job that has been enqueued will run immediately.
これは、そこに何かが間違っている私をキューイング何の一種です。私はちょうど実行しないキューの中に座っているジョブを持っています。何がこれを止めることができますか?
@januszmうれしい少し助けを得ることができました。 – tadiou