問題タブ [sidekiq]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - 複数のsidekiqインスタンスが同じキューを処理できますか
私はSidekiqの内部に精通しておらず、同じ構成(同じキューを処理する)で複数のSidekiqインスタンスを起動しても大丈夫かどうか疑問に思っています。
2つ以上のSidekiqインスタンスがキューからの同じメッセージを処理する可能性はありますか?
更新:
複数のマシンでSidekiqを実行しているときに、競合が発生する可能性があるかどうかを知る必要があります
ruby - 遅延ジョブと Sidekiq を同時に実行する
現在、遅延ジョブを使用してジョブを非同期で処理しています。ワーカーを作成する代わりに、この.delay
メソッドをよく使用します。
Sidekiq に移行したいのですが、ジョブの種類が多すぎて、すべてがスレッドセーフであることを確認できません。そのため、Delayed Job と Sidekiq を並行して実行し、一度に 1 種類のジョブを移行したいと考えています。
Delayed Job と Sidekiq の両方が.delay
メソッドを提供しているため、どうすればこの 2 つを区別できますか? 他に考えられる問題はありますか?
ruby-on-rails - ユニークな仕事のSidekiq奇妙な行動
上手。Sidekiqを使用してバックグラウンドでビデオファイルを変換しています。同じペイロードオブジェクトでジョブが重複しないように、 sidekiq-unique-jobsgemを使用します。
並行性が25のデフォルトのキューで、オプションなしでsidekiqプロセスを実行します。
問題は、長時間処理された後のすべてのジョブ(ビデオファイルは非常に大きい)がキューのバックログに送られますが、処理されたジョブのサイズも増加していることです。
仕事は完了したものでもユニークなものでもありません。私は立ち往生しています。前もって感謝します
UPD:
PumaをWebサーバーとして実行しています。
ruby-on-rails-3 - sidekiqが検証に失敗したs3へのCarrierwave直接アップロード
CarrierWaveとSidekiqでのバックグラウンドジョブを使用したS3への直接アップロードに関するRyanBatesチュートリアルに従います。
sidekiqログのバックグラウンドワーカーに次のエラーが表示されます。
これが私のアップローダーです
記事モデル
CarrierWave構成
アップロードフォームのレンダリングを担当するShootControllerShow Action
ショーアクションアップローダーのフォーム
ruby-on-rails - ActiveRecordのデータをCapistranoのdeploy.rbにロードします
デプロイメントにはCapistranoを使用し、キューにはSidekiqを使用しています。sidekiqキューを実行するには、deploy.rbファイルに:sidekiq_queues変数を設定するためにユーザーIDをロードする必要があります。今私は次のコードを使用します
しかし、それは次のエラーをスローします
「rubygems」と「active_record」をdeploy.rbに要求しようとしましたが、役に立ちませんでした。結果として、sidekiq_queues == "-q parsing_user_1 -q parsing_user_2 -q parsing_user_3 -q parsing_user_4 -q parsing_user_5-qparsing_user_0"が必要になります。キュー名をハードコーディングすることは解決策ではありません。
ruby-on-rails - HerokuでSidekiqを使用してスレッド化して実行すると、基本的なARおよびASメソッドで未定義のメソッドエラーが発生します
Sidekiqでキューに入れられたジョブで実行しているときに、モデルの1つで特定のコード行でいくつかの異なるエラーが発生します。問題のコードは次のとおりです。
私はundefined method 'scope' for #<ActiveRecord::Associations::AssociationScope:0x00000005f20cb0>
またはを取得しundefined method 'aliased_table_for' for #<ActiveRecord::Associations::AliasTracker:0x00000005bc3f90>
ます。
別のSidekiqジョブの別のコード行で、エラーが発生しますundefined method 'decrypt_and_verify' for #<ActiveSupport::MessageEncryptor:0x00000007143208>
。
これらのエラーはすべて、Railsランタイムサポートライブラリの標準メソッドであるため、意味がありません。
問題のモデルには、「book_lookups」モデルに対して定義された:has_many関連付けがあり、「name」と「value」は「book_lookups」モデルのフィールドです。これは、処理された最初の1〜3レコードで常に発生します。Sidekiqジョブの外部で同じコードを実行した場合、これらのエラーは発生しません。
Herokuでホストされている本番環境でのみ、開発マシンでエラーを再現できません。
コード`BookLookup.new()'をイニシャライザーに配置し、Sidekiqがスレッドを作成する前にモデルを強制的にロードすることで、最初のエラーセットを「解決」した可能性があります。あと一晩だけの作業なので、トレンドが続くかどうかを確認する必要があります...
これで当面の問題が解決したとしても、使用する前にクラスが完全にロードされないという本当の根本的な問題は解決しないと思います。クラスローディングは不可分操作ですか?あるスレッドがクラスのロードを開始し、別のスレッドが完全にロードされる前にクラスの使用を開始することは可能ですか?
ruby - SidekiqワーカーでのEventmachinehttpリクエストの使用
それで、私が待ちたくないhttppostリクエストを送信するsidekiqプロセスがあるとしましょう。私はこれが労働者のスピードを妨げるものになりたくありません。
私が持っているアイデアの1つは、この単純なサンプルコードをEventMachineHttpリクエストに使用することです。
したがって、コールバックが呼び出される前にワーカープロセスが終了したと仮定しましょう。ここで何が起こりますか?これは、コールバックへのポインタが失敗することを意味しますか?ここで制御の流れを理解したいと思います。
ruby-on-rails - sidekiq をデバッグするには?
今日、エアブレーキは例外を報告しました。その要約によると、sidekiq が失敗した後にジョブを再試行しようとすると問題が発生します。要約パラメータは次のようになります。
例外は、ジョブが失敗して再試行した場合にのみ発生するようです。これをデバッグしたいのですが、どこから始めればよいかわかりません:-(
私の質問は次のとおりです。
- 作業員がジョブの完了に失敗したことを理解した場合 (作業員はそこから再試行することを決定します)? たとえば、問題を再現しようとしてワーカーを強制的に失敗させるにはどうすればよいですか?
- sidekiq ワーカーのデバッグ/サンプルに関する良いチュートリアルはありますか?
- sidekiq 2.3.3を使用しています。新しいバージョンにアップグレードすると問題は解決しますか?
ボーナストラック。実際のスタックトレースは予期せずに終了します
ruby-on-rails - sidekiq で ImageWorker を呼び出している間の初期化されていない定数
私のBanner
モデルでは、これを次のように呼び出しました。
私が入っているエラーsidekiq
はこれです:
ruby-on-rails - Rails 3 Sidekiqパッセンジャー
Sidekiq スケジューラーをローカルで動作させることができます。最後の障害は、これを Passenger の本番アプリにデプロイする方法です。乗客でSidekiqを継続的に実行する方法について、誰かが私を正しい方向に向けることができますか.
感謝します。