問題タブ [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 に答える
93 参照

ruby - ワーカータスクの値を取得するには?

私は理解できない。sidekiq または resque ワーカータスクの結果を取得するには? 例えば:

結果を取得する方法は?

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

ruby - Heroku を使用したアプリ間での共有メッセージ キュー

Heroku でホストされる 2 つの Web アプリケーションがあります。1 つはフロントエンド アプリです。これは、消費者が直面するすべてのアクションがこのアプリを介して行われるという意味です。新しいサインアップなど。もう 1 つはバックエンドです。これは、新規顧客、その注文、および関連するビジネス ロジックのすべての処理を処理します。これらのアプリが互いに通信し、それらの間でデータを渡す必要があります。FE アプリだけが API を使用するため、BE アプリで API を作成したくありません。これは、他のユーザーが API にアクセスできないようにするためのセキュリティ ルールと制限の作成に時間を費やす必要があることを意味します。

私の質問は、代わりにそれらの間で共有メッセージング キューを使用できるかどうか、そしてこれは良いアイデアであったかどうか、そして Heroku で可能なことでしょうか? このユースケース用のアドオン/サービスはありますか? リストされているキューイング アドオンのほとんどは、同じアプリ内にワーカーとタスク クリエーターを持っています。

いずれにせよBEアプリには他のタスク用のキューが必要になるため、Sidekiqを可能性として検討してきました.これは良い候補のようですが、アプリ間で共有Redisインスタンスを提供したとしても、 、Sidekiq にはそれらの間でメッセージを渡す機能があります。誰でも知っていますか?

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

ruby-on-rails - Ruby での Heroku とバックグラウンド アップロード

現在、バックグラウンド (Sidekiq) タスクで S3 に画像をアップロードするアプリケーションがあります。それはうまくいきますが、解決策を「ハック」する必要があり、これを行うためのより良い方法を知っている人に興味がありました.

問題: Heroku で Paperclip とバックグラウンド ジョブを使用している場合、tmp ファイルが別のサーバーで起動されているため、ほとんどの場合、ワーカーは tmp ファイルにアクセスできません。ペーパークリップに Heroku の tmp フォルダーを使用させようとしましたが、そこに保存されますが、バックグラウンド タスクは常に「ファイルが見つかりません」を返しました。

一時的な解決策: これにより、イメージを base64 文字列にエンコードし、それを実行タスクに渡す必要があります (嫌な、悪い、恐ろしい、大きなオーバーヘッド)。

Herokuでこれを行うより良い方法はありますか? 画像ブロブをデータベースに保存したくありません。

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

ruby - Sidekiqの再起動

sidekiq を再起動する正しい方法は何ですか。起動時にワーカーのコードをキャッシュしているように見えるので、ワーカーに変更を加えるたびに再起動する必要があります。私は Ctrl/C でこれを行っていますが、プロセスが終了してプロンプトに戻るまでに長い時間がかかります。

すぐに再起動を強制する方法はありますか?

POW経由で実行されているSinatraで最新バージョンを使用しています。

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

ruby - Sidekiq が PID ファイルを作成しない

Sidekiq を停止するには、以下を使用する必要があります。

$bundle exec sidekiqctl stop /Users/me/Documents/sites/some_site/tmp/pid/sidekiq.pid 20

config.yml ファイルに pid ファイルを作成するように Sidekiq に指示しています。

そして、この構成ファイルが使用している場所を Sidekiq に伝えます。

$ bundle exec sidekiq -C /Users/me/Documents/sites/some_site/config.yml

しかし、Sidekiq を実行すると .pid ファイルが作成されないため、停止できません。では、なぜ .pid ファイルを作成しないのでしょうか?

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

ruby - God Gem で処理開始シーケンスを設定する

神に2つのプロセスを順番に開始させることは可能ですか?

Redisに依存するSidekiqを使用しています。Redis を起動してから Sidekiq を起動したいのですが、独立して正常に動作する 2 つの別々のウォッチをセットアップしていますが、実行する

$ god -c "./config.god" -D

と、神が両方を同時に起動しようとしているようで、Sidekiq でエラーが発生する可能性があります。 Redis サーバーに接続します。

神のための私の設定ファイルは以下の通りです:

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

ruby-on-rails - Sidekiqの労働者に関する統計を確認するにはどうすればよいですか?

APIを介してsidekiqのステータスに関する情報を取得できます。ワーカー用のAPIメソッドはありません。

特定のクラスが実行しているワーカーの数を知りたい。たとえば、という名前のクラスがFooStreamer.rbあり、それはメソッドで実行されperform_asyncます。現時点で何人のワーカーが実行されているか知りたいです。

何か案は?

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

ruby-on-rails - God Gem は、w.keepalive を使用すると時計を開始しますが、$god sidekiq start を使用すると開始しません

God Gemと一緒にSidekiqを使用するのに苦労しています。を使用して sidekiq プロセスを手動で開始できるようにしたいのですが、プロセスの開始に失敗します。w.keepalive を設定した場合にのみ、sidekiq プロセスを開始できます (以下のコードでコメントアウトされています)。$god start sidekiq

私は God を使用して起動しています: を使用して$ god -c "./config.god" -D --log-level info、神をフォアグラウンドで起動すると、次の出力が得られます。

私が得る使用$god start sidekiq

しかし、神からの出力は得られず、sidekiq のログには何も書き込まれません$ ps auxwww | grep sidekiq

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

ruby-on-rails - 爆発した戦争からsidekiqを開始する

私たちの現在の本番デプロイメントでは、jenkins を使用して、warble で生成された war ファイルを Tomcat にデプロイします。全体が魅力のように機能します。しかし、私が直面している問題は、「bundle exec sidekiq [options]」を介して、このマシンで sidekiq のワーカーを起動する方法です。理想的には、これを行うためだけにこのマシンに個別の Ruby 環境全体を設定することは避けたいと思いますが、いずれにしても適切に実行するには、sidekiq が展開/インストールされたアプリ環境などにアクセスする必要があります。

このようなことを行うための受け入れられた方法はありますか? バンドルを超えて、このようなインスタンスで sidekiq を起動するより良い方法はありますか?

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

ruby-on-rails - Sidekiq に引数として Blocks または Proc を送信することは可能ですか?

さまざまなデータセットで計算を実行するための標準システムがあります。すばらしいのは、これらの計算を Proc として perform メソッドに渡すことができることです。これが私が達成したいことです:

この種のことは可能ですか、それとも悪い習慣ですか? オブジェクトを直接送信するのは悪い習慣であることを知っているので、ブロックを送信することも悪い考えだと思いますか?