以下のジョブを見ると、ジョブはlow_priority
キューで実行されていると仮定します。ActiveJobには特定の優先度を持つキューがありますか?
class GuestsCleanupJob < ActiveJob::Base
queue_as :low_priority
#....
end
私はこれに同意するだろうが、これは正しいキューの名前だけでしょうか?それは実際には優先順位とは関係ありません。たとえば、:my_queue
という名前のキューを持つジョブを作成した場合、そのジョブは:low_priority
キューと同じ優先順位を持つものとして扱われます。
ドキュメントからは、キューに入れられたジョブの優先順位付けが可能であることを示すものが見つかりませんでした。私はdelayed_jobsがこの機能を持っていることを知っていますが、私はそれをactive_jobで見つけられませんでした。
はい、これは理にかなっているが、delayed_jobとsidekiqの両方をサポートキューと優先度とあなたがジョブレベルでこれを設定することができます。 delayed_jobまたはsidekiqアダプタを使用している場合は、アクティブジョブがこれをサポートしていますか?あなたがはいと言っているように聞こえますが、ドキュメントのどれも実際には役に立ちません。私はすでにあなたがこの質問を投稿する前に追加した参考文献を見てきましたが、何も見つけられませんでした。おそらく何か不足していますか? –
これについては、アダプタのマニュアルを読む必要があります。 ActiveJobは抽象です。 – dimakura
私はそれを理解しています。私はドキュメントを読んでいます - 私はdelayed_jobsを使用しています。あなたは例えば 'handle_asynchronously:send_mail :, priority => 20'のようにdelayed_jobでジョブの優先度を設定できます。sidekiqでは待ち行列と優先度を設定しているので、設定ファイル。遅れた仕事はこれを持っていないようです。私の質問は、優先順位を設定するためにActiveJobである抽象化を使用する方法です。これはActiveJobで可能ですか?またはdelayed_jobを使用する必要がありますか? ActiveJobのdelayed_jobアダプタを見ると、これは可能ではないようです。明確になるために何を言いたいのか分かりません。 –