問題タブ [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 でアクティブなレコード オブジェクトを作成したいと考えています。オブジェクト全体をシリアル化する必要があるため、ベストプラクティスではないことはわかっていますが、この場合、他に選択肢はありません。
試してみると、次のようになります。
エラーは次のように述べています: WARN: undefined method `primary_key' for Hash:Class
このメソッドで作成されたオブジェクト (この場合はイベント):
Trackメソッドは次のようになります。
クラスEventTrackingWorker
:
注:文字列をアクティブなレコード クラスにevent.to_s.classify.constantize.new(options).send(method)
変換し、オプションを指定して呼び出します。その後、オブジェクトを作成しますshift_created_event
ShiftCreatedEvent
new
.send(method)
誰かがそれを経験していますか?
ruby-on-rails - Sidekiqを使用してファイルのアップロードをバックグラウンドにプッシュする方法は?
私は、大きな音楽ファイルをアップロードできるRailsアプリに取り組んでいます。これらをバックグラウンドでアップロードして、アップロードを開始すると、ユーザーがトラック名やアーティストなどのファイルに関するメタデータを入力しているときに、sidekiqワーカーに移動されるようにします。
このrailscastをフォローして、画像処理をバックグラウンドに移動することができました: http ://railscasts.com/episodes/383-uploading-to-amazon-s3?view=asciicast
しかし、ファイルの実際のアップロードをバックグラウンドに移動する方法を完全に理解することはできません。使用すべき特定のコールバックまたはSidekiqメソッドはありますか?
このようなことを行う方法に関するリソースはありますか?
これが私の曲のモデルです: https ://gist.github.com/leemcalilly/5001583
私の曲のコントローラー: https ://gist.github.com/leemcalilly/5001590
私のアップロードフォーム: https ://gist.github.com/leemcalilly/5001586
私のアップローダー(s3へのcarrierwave_directでcarrierwaveを使用): https ://gist.github.com/leemcalilly/5001601
そのコードはs3にアップロードするために機能しますが、ファイルのアップロード中、ブラウザーはRailsプロセスで拘束されます。それをバックグラウンドプロセスに移したいと思います。そこにあるsidekiqコードは、実際には画像処理を処理するRailscastからのものだと思いますが、そのRailscastで画像処理が機能している理由はよくわかりません。
正しい方向に向けられる助けがあれば大歓迎です。
ruby-on-rails - Carrierwaveバックグラウンダーsidekiq労働者なし
sidekiqおよびsidekiqwebとともに、carrierwaveバックグラウンダーをローカルにセットアップしました。エンキューされたsidekiqにジョブが追加されているのを確認できますが、実行されていません。それらが実行されるのを妨げるものは何ですか?
セットアップ:Rails 3.2.11 Unicorn 4.6.1 Sidekiq 2.7.5carrierwave 0.8.0carrierwave_backgrounder0.2.0
バックグラウンダーの構成。
モデル
アップローダー
登録済みの労働者をチェックすると空に戻ります
config / sidekiq.yml
config / initializer / sidekiq.rb
私はいくつかの方法でコマンドラインからsidekiqを開始しました
お手伝いありがとう :)
ruby-on-rails-3 - sidekiq true god.rb は私のワーカーを実行しません。ターミナルからの同じコマンドはどこで実行されますか?
God.rb を実行して Sidekiq を起動および監視しても、これは機能しません。sidekiqの私の神の設定の下。
sidekiq -C /srv/books/current/config/sidekiq.yml を実稼働環境でターミナルから手動で実行すると正常に動作しますが、sidekiq god.rb の設定では、なぜこれが発生する可能性があるのでしょうか? ログには何もありません。
ruby-on-rails - Sidekiq UIがアセットをロードしない(Rails 3)
RailsアプリでSidekiqを使用していますが、UIを機能させるのに問題があります。
http :// servername/sidekiq
sinatraアプリにアクセスするとロードされますが、次のようになります:http: //cl.ly/NHBT
ログのエラーは次のとおりです。
Started GET "/sidekiq/javascripts/application.js" for 127.0.0.1 at 2013-03-01 11:32:48 -0700
NoMethodError (undefined method
empty?' for #<Rack::File:0x007faf004527c8>):
bullet (4.3.0) lib/bullet/rack.rb:31:in
empty?'
bullet (4.3.0) lib/bullet/rack.rb:12:in call'
warden (1.2.1) lib/warden/manager.rb:35:in
block in call'
warden (1.2.1) lib/warden/manager.rb:34:in catch'
warden (1.2.1) lib/warden/manager.rb:34:in
call'
actionpack (3.2.8) lib/action_dispatch/middleware/best_standards_support.rb:17:in call'
rack (1.4.5) lib/rack/etag.rb:23:in
call'
rack (1.4.5) lib/rack/conditionalget.rb:25:in `call'
何か案は?ありがとう!
ruby-on-rails-3 - Rails と MongoID Web アプリケーションはデータを保存できません
私は、mongoID を介して mongo db にデータを保存する digitalocean でホストされている ruby on rails webapp を持っています。
sidekiq ワーカーの共通 API を介してデータをインポートしていますが、次のようなオブジェクトを作成しようとしています。
このデータは開発時にローカルに保存できますが、本番環境ではランダムな動作になります。たとえば、1000 個の消費をインポートすると、Web アプリはおそらく 20 個しか保存せず、問題を報告するログはありません。
この問題はsidekiqに関連していると思った(ローカルでも問題なく動作する)ので、resqueのような別のものに切り替えましたが、問題は残りました。保存されたオブジェクトの検証を確認すると、「保存」後にすべて有効になります。
これは、mongodb への接続に関するトランザクションまたは問題に関連している可能性がありますか?
ruby - sidekiq が接続されている redis ポートとインスタンスを確認するにはどうすればよいですか?
私は sidekiq と redis を使用しています。いくつかの問題を見つけてデバッグしようとしていますが、そのために、sidekiq が接続している URL を知りたいです。サーバーとクライアントを設定したファイルで確認できることはわかっていますが、alaResque.redis
を使用して、どの redis インスタンス sidekiq が接続されているかを示す機能はありますか?
前もって感謝します!
ruby-on-rails - 読み取りの影響を最小限に抑えながら、バックグラウンド ジョブを介してデータベースを INSERT/UPDATE
Sidekiq を使用して外部ソースからレコードを更新し、PostgreSQL サーバーで多数のバックグラウンド タスクを実行しています。しかし、バックグラウンド プロセスから書き込みを開始するたびにSELECTs
、Web アプリの速度が低下します。
読み取りのブロックを回避するための最善の戦略は何ですか?
ruby-on-rails - 複数環境用のSidekiq構成
複数のソースを見て、さまざまなシナリオを試しましたが、これを解決できなかったため、問題が発生しました。私を正しい方向に向けてください。
みんなと同じように、私には 3 つの環境 (開発、ステージング、および運用) があります。
sidekiq.yml ファイルに次のものがあります
これで、コマンドでsidekiqを開始したときに期待していました
構成ファイルからすべての値を取得し、適切なキューと log/sidekiq.log のログ ファイルを使用して sidekiq を開始しますが、それは機能しません。Sidekiq は起動しますが、使用する環境に関係なく、stg_xyz_tests_queue、stg_default_xyz_queue、および stg_xyz_default_queue のみを作成します。
私が試した他のアプローチは、 config/environments/development.rb で次のコードを使用することでした
これにより、キューは正常に作成されますが、ログファイルは作成または書き込まれず、3 つの環境すべてでこのコードを複製する必要があります。
私のセットアップで sidekiq をシームレスに動作させる最良の方法は何ですか?事前に助けてくれてありがとう!!!