タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

sidekiqに関するshozzyのブックマーク (5)

  • Sidekiqが動く仕組みについて - UUUMエンジニアブログ

    UUUMに入社して1年が経ったエンジニアの北畠です。 Railsも使い始めてもう半年経ちました。 そこで、Railsのジョブキューのgemで有名なSidekiq。 UUUMのプロダクトでもかなり使っているんですが、 どのように動いているかよくわかっていないので調べてみました。 基的な使い方は Getting Started · mperham/sidekiq Wiki · GitHub から まずはエンキュー ActibeJob.perform_later キューに入れたい処理はActiveJob::Baseを拡張したクラスのperformメソッドに実装し、 perform_laterを呼び出すと、エンキューの処理が走る。 Class SampleJob < ActiveJob::Base def perform p "Hello!" end end ... SampleJob.perf

    Sidekiqが動く仕組みについて - UUUMエンジニアブログ
  • Railsで非同期処理を実行し、ブラウザで実行結果を取得する - Qiita

    Livesense Advent Calendar 2016 21日目の記事です。 何を実現したいか Webアプリケーションの開発では以下のような要件が求められることがあります。 CSVファイルをアップロードして、一括データインポートを行う リアルタイムに複雑な計算をして値を算出し、表示する このような処理時間が長くキャッシュも効かないような処理では、以下の問題が発生します。 レスポンスタイムが長くなりすぎて、Webサーバがタイムアウトしてしまう Unicornなどprefork型のWebサーバを利用している場合、ワーカーの一つを長時間専有してしまう レンダリングに時間がかかるので利用者が心配する or F5を連打される このような問題を解決するために、時間のかかる処理はキューに積んで、非同期で実行する方法がよくとられます。 Railsには4.2からActiveJobという機能が導入されて

    Railsで非同期処理を実行し、ブラウザで実行結果を取得する - Qiita
    shozzy
    shozzy 2019/01/04
    結果取得の方法
  • 【Rails】Sidekiqを使用してみた。 - とーますメモ

    自分用メモ ActiveJob経由か、直接使うかは 以下の記事で詳細を書いた。 thoames.hatenadiary.jp 自分の場合は、フルにSidekiqの機能を使用したかったため 「直接Sidekiqを使用する」方法を取る。 インストール Gemfile gem 'sidekiq' gem 'redis-namespace'[注意] Redisの設定にnamespaceを設定している場合、 'redis-namespace'のgemをインストールしていいないと、 以下のエラーが出る。 ERROR: Your Redis configuration uses the namespace 'xxxxxxxxx' but the redis-namespace gem is not included in the Gemfile. Add the gem to your Gemfile

    【Rails】Sidekiqを使用してみた。 - とーますメモ
  • SidekiqのWorkerクラス内でJobIDを知る - PerlerのRuby日記

    Sidekiq::Workerをincludeして使っているクラス内のperformメソッド内で自分のJobIDを知るには、self.jidで取れる。 class MyWorker include Sidekiq::Worker def perform job_id = self.jid puts job_id # some codes end end job_id = MyWorker.perform_async なので、Sidekiqに登録したJobIDを、そのままworkerの処理結果のキーとして使えば結果の取得が簡単だ。

    SidekiqのWorkerクラス内でJobIDを知る - PerlerのRuby日記
    shozzy
    shozzy 2019/01/04
    結果取得の参考
  • [Rails] RedisとSidekiqとActiveJobで苦しむ

    Rails でバッチ処理をしたい具体的には動画のエンコードを Rails 上でやりたい。 もちろんリクエストを投げてエンコード結果のレスポンスを返すなんてことは無理だ、だからバッチでやる。Rails でバッチ処理のやり方を調べると、Rails4.2 からは ActiveJob という機能を使ってやるらしい。 冒頭に ActiveJob の目的なるものが書いてある。 >Active Job の主要な目的は、Rails アプリを即席で作成した直後でも使用できる、自前のジョブ管理インフラを持つことです。これにより、Delayed Job と Resque などのように、さまざまなジョブ実行機能の API の違いを気にせずにジョブフレームワーク機能やその他の gem を搭載することができるようになります。バックエンドでのキューイング作業では、操作方法以外のことを気にせずに済みます。さらに、ジョブ管

    [Rails] RedisとSidekiqとActiveJobで苦しむ
  • 1