問題タブ [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.

0 投票する
2 に答える
9751 参照

ruby - 複数のsidekiqインスタンスが同じキューを処理できますか

私はSidekiqの内部に精通しておらず、同じ構成(同じキューを処理する)で複数のSidekiqインスタンスを起動しても大丈夫かどうか疑問に思っています。

2つ以上のSidekiqインスタンスがキューからの同じメッセージを処理する可能性はありますか?

更新:
複数のマシンでSidekiqを実行しているときに、競合が発生する可能性があるかどうかを知る必要があります

0 投票する
3 に答える
4760 参照

ruby - 遅延ジョブと Sidekiq を同時に実行する

現在、遅延ジョブを使用してジョブを非同期で処理しています。ワーカーを作成する代わりに、この.delayメソッドをよく使用します。

Sidekiq に移行したいのですが、ジョブの種類が多すぎて、すべてがスレッドセーフであることを確認できません。そのため、Delayed Job と Sidekiq を並行して実行し、一度に 1 種類のジョブを移行したいと考えています。

Delayed Job と Sidekiq の両方が.delayメソッドを提供しているため、どうすればこの 2 つを区別できますか? 他に考えられる問題はありますか?

0 投票する
1 に答える
2785 参照

ruby-on-rails - ユニークな仕事のSidekiq奇妙な行動

上手。Sidekiqを使用してバックグラウンドでビデオファイルを変換しています。同じペイロードオブジェクトでジョブが重複しないように、 sidekiq-unique-jobsgemを使用します。

並行性が25のデフォルトのキューで、オプションなしでsidekiqプロセスを実行します。

問題は、長時間処理された後のすべてのジョブ(ビデオファイルは非常に大きい)がキューのバックログに送られますが、処理されたジョブのサイズも増加していることです。

仕事は完了したものでもユニークなものでもありません。私は立ち往生しています。前もって感謝します

UPD:

PumaをWebサーバーとして実行しています。

0 投票する
1 に答える
2609 参照

ruby-on-rails-3 - sidekiqが検証に失敗したs3へのCarrierwave直接アップロード

CarrierWaveとSidekiqでのバックグラウンドジョブを使用したS3への直接アップロードに関するRyanBatesチュートリアルに従います。

sidekiqログのバックグラウンドワーカーに次のエラーが表示されます。

これが私のアップローダーです

記事モデル

CarrierWave構成

アップロードフォームのレンダリングを担当するShootControllerShow Action

ショーアクションアップローダーのフォーム

0 投票する
1 に答える
481 参照

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"が必要になります。キュー名をハードコーディングすることは解決策ではありません。

0 投票する
1 に答える
385 参照

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がスレッドを作成する前にモデルを強制的にロードすることで、最初のエラーセットを「解決」した可能性があります。あと一晩だけの作業なので、トレンドが続くかどうかを確認する必要があります...

これで当面の問題が解決したとしても、使用する前にクラスが完全にロードされないという本当の根本的な問題は解決しないと思います。クラスローディングは不可分操作ですか?あるスレッドがクラスのロードを開始し、別のスレッドが完全にロードされる前にクラスの使用を開始することは可能ですか?

0 投票する
2 に答える
1758 参照

ruby - SidekiqワーカーでのEventmachinehttpリクエストの使用

それで、私が待ちたくないhttppostリクエストを送信するsidekiqプロセスがあるとしましょう。私はこれが労働者のスピードを妨げるものになりたくありません。

私が持っているアイデアの1つは、この単純なサンプルコードをEventMachineHttpリクエストに使用することです。

したがって、コールバックが呼び出される前にワーカープロセスが終了したと仮定しましょう。ここで何が起こりますか?これは、コールバックへのポインタが失敗することを意味しますか?ここで制御の流れを理解したいと思います。

0 投票する
1 に答える
4076 参照

ruby-on-rails - sidekiq をデバッグするには?

今日、エアブレーキは例外を報告しました。その要約によると、sidekiq が失敗した後にジョブを再試行しようとすると問題が発生します。要約パラメータは次のようになります。

例外は、ジョブが失敗して再試行した場合にのみ発生するようです。これをデバッグしたいのですが、どこから始めればよいかわかりません:-(

私の質問は次のとおりです。

  1. 作業員がジョブの完了に失敗したことを理解した場合 (作業員はそこから再試行することを決定します)? たとえば、問題を再現しようとしてワーカーを強制的に失敗させるにはどうすればよいですか?
  2. sidekiq ワーカーのデバッグ/サンプルに関する良いチュートリアルはありますか?
  3. sidekiq 2.3.3を使用しています。新しいバージョンにアップグレードすると問題は解決しますか?

ボーナストラック実際のスタックトレースは予期せずに終了します

0 投票する
2 に答える
1022 参照

ruby-on-rails - sidekiq で ImageWorker を呼び出している間の初期化されていない定数

私のBannerモデルでは、これを次のように呼び出しました。

私が入っているエラーsidekiqはこれです:

0 投票する
1 に答える
2733 参照

ruby-on-rails - Rails 3 Sidekiqパッセンジャー

Sidekiq スケジューラーをローカルで動作させることができます。最後の障害は、これを Passenger の本番アプリにデプロイする方法です。乗客でSidekiqを継続的に実行する方法について、誰かが私を正しい方向に向けることができますか.

感謝します。