並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 44件

新着順 人気順

sidekiqの検索結果1 - 40 件 / 44件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

sidekiqに関するエントリは44件あります。 railsrubySidekiq などが関連タグです。 人気エントリには 『Sidekiq vs Solid Queue』などがあります。
  • Sidekiq vs Solid Queue

    kaigi on rails 2024の発表資料です https://kaigionrails.org/2024/talks/willnet/

      Sidekiq vs Solid Queue
    • Rails の非同期処理を Sidekiq から Cloud Tasks にリプレイスして Cloud Run のコストが6分の1になった話

      成果 最終的に、Cloud Run のコストが$6/day前後から$1/day前後に! ちなみに、Cloud Tasks は1ヶ月あたり最初の100万回のオペレーションまで無料なので余裕で収まっています。 モチベーション 今回リプレイスを検討したシステムは軽量な非同期処理が大半で、もともと絶対に Sidekiq でないと困るということが少なかった Sidekiq は Redis をポーリングしてジョブを取得する方式なので、Cloud Run で実行するには min-instances を1以上にしなければいけない 何もジョブがない状態が続いてインスタンスが0になると起こしてくれる人がいないので... 絶対に Sidekiq でないと困らないなら Cloud Tasksにして、非同期処理がない時は寝ていても良いようにしたい => コストダウン! Pub/Sub との比較検討もしましたが今回は

        Rails の非同期処理を Sidekiq から Cloud Tasks にリプレイスして Cloud Run のコストが6分の1になった話
      • Rails: SidekiqはActive Jobを経由せずに直接使おう(翻訳)|TechRacho by BPS株式会社

        概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Use Sidekiq Directly, Not Through Active Job - Andy Croll 原文公開日: 2021/10/04 著者: Andy Croll 参考: 週刊Railsウォッチ20211018: SidekiqをActive Job経由ではなく直接使う 参考: Active Job の基礎 - Railsガイド Webアプリケーションを構築する場合は、ユーザーごとのレスポンスに要する時間を最小限に留めるべきです。Webサイトが速ければ速いほど、その分ユーザーも幸せになれます。 そのための方法の1つは、重くなる可能性のある処理(実行に長時間かかる、パラレル化可能な処理)を、イミディエイトなWebリクエストの外で非同期実行することです。メール送信、計画的なクリーンアップ、長時間かかる計算、外部API

          Rails: SidekiqはActive Jobを経由せずに直接使おう(翻訳)|TechRacho by BPS株式会社
        • Sidekiq to Kafka ストリームベースのmicro services

          Kaigi On Rails 2020 発表資料。 ActiveJob(sidekiq)の限界とKafkaを採用してサービス分割する上での戦い方の例について紹介する。

            Sidekiq to Kafka ストリームベースのmicro services
          • Sidekiqで実現する 長時間非同期処理の中断と再開 / Pausing and Resuming Long-Running Asynchronous Jobs with Sidekiq

            2024.10.25 Fri Kaigi on Rails 2024@有明セントラルタワーホール & カンファレンス(東京)

              Sidekiqで実現する 長時間非同期処理の中断と再開 / Pausing and Resuming Long-Running Asynchronous Jobs with Sidekiq
            • Sidekiq と Solid Queue の機能比較 - Kaigi on Rails day2 Sidekiq vs Solid Queue によせて - Techouse Developers Blog

              Kaigi on Rails 2024 に参加しました こんにちは、クラウドハウス採用でエンジニアインターンをしている Higashiji です。 10 月の 25・26 日、Ruby on Rails についてのカンファレンス、 Kaigi on Rails 2024 が開催されました。 弊社からは新卒エンジニアの @izumitomo が「デプロイを任されたので、教わった通りにデプロイしたら障害になった件 ~俺のやらかしを越えてゆけ~ 」というセッションで登壇しました。 スライドがアップロードされているので、興味を持っていただけた方はぜひご覧になってください。 私はこれまでカンファレンスに参加したことがなかったのですが、カンファレンス参加費補助制度を使って初めて参加させていただきました。 本記事では、Shinichi Maeshima (@willnet) さんによるセッション Sid

                Sidekiq と Solid Queue の機能比較 - Kaigi on Rails day2 Sidekiq vs Solid Queue によせて - Techouse Developers Blog
              • How does Sidekiq really work?

                Since its publication, this post was endorsed by Mike Perham, the creator of Sidekiq. Hacker News discussion Sidekiq is one of the most ubiquitous1 Ruby background job processors out there. To anybody who has worked with Ruby on and off Rails, it needs no introduction. Sidekiq has a 10+ year track record of being an efficient, battle-tested and simple-to-use solution for offloading the execution o

                • Rails: SidekiqからSolid Queueに移行したときの方法と注意点(翻訳)|TechRacho by BPS株式会社

                  概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: How we migrated from Sidekiq to Solid Queue - BigBinary Blog 原文公開日: 2024/03/05 原著者: Chirag Shah 日本語タイトルは内容に即したものにしました。 私たちBigBinaryは、neetoでさまざまなプロダクトを構築しています。現在22のプロダクトを開発中で、それらはいずれもSidekiqを利用しています。Solid Queueが公開された後で、私たちのneetoFormで使われているSidekiqをSolid Queueに移行する決定を下しました。 なお、現時点のSolid Queueはcronスタイルのジョブや定期的に繰り返されるジョブ実行をサポートしておらず、これに関するプルリク#155がオープンされています。そういうわけで、Solid

                    Rails: SidekiqからSolid Queueに移行したときの方法と注意点(翻訳)|TechRacho by BPS株式会社
                  • Sidekiqで実現するRuby on Railsでの分散プログラミング - Techouse Developers Blog

                    初めまして、株式会社Techouseでバックエンドエンジニアをしている本澤(mottei)と申します。本日は私の携わっているプロダクトであるクラウドハウス労務で利用されている分散プログラミングの技術について紹介します。 クラウドハウス労務について 分散プログラミングについて紹介する前に、私が開発しているクラウドハウス労務について、なぜ分散プログラミングが必要かの説明も兼ねて紹介します。 クラウドハウス労務は労務業務の電子化を推進するためのクラウドサービスです。人事労務担当と従業員との手続き機能・年末調整などの法定業務など様々な機能を持っており、企業の人事労務担当者と従業員とのやりとりを簡単に行うことができます。 これらのたくさんの手続きによって集められた大量の従業員データは、クラウドハウス労務のデータベースに格納されています。クラウドハウス労務は大企業が持つ基幹システムなどの別システムとの

                      Sidekiqで実現するRuby on Railsでの分散プログラミング - Techouse Developers Blog
                    • Introducing Sidekiq 8.0

                      2025-03-10 After six months of hard work, I’m thrilled to announce the general availability of Sidekiq 8.0! 🥳🎉 Status Sidekiq is used by thousands of Ruby applications around the world to scale job processing up to billions of jobs/day. Current Sidekiq Enterprise customers are reporting a grand total of 1,806,671,058,604 jobs processed, almost two trillion, with my largest customer executing up

                      • Sidekiqチューニングのためのパラメータ整理 - Qiita

                        これは何? Sidekiqには同時実行数のパラメータがあるため、それをどのようにセットするべきか決める必要があります。 これは、Ruby on Rails 5, 6, 7でSidekiq v6, 7のパラメータのチューニングに必要な情報を事前調査してまとめたものです。 結論 concurrencyを許容するジョブの同時実行数に合わせる config/database.ymlのpoolをconcurrency+1にしておく 最終的には要求されるスループットのジョブを回してパフォーマンスを測定して決める アーキテクチャ概要 キューとスレッドの関係は、Sidekiq v7から導入される Capsules (カプセル)機能によって、やや仕様変更が発生している可能性あり。検証中です。 プロセス:スレッド=1:N プロセス:キュー=1:N キュー:スレッド=N:N ワーカー:キュー=1:1 プロセス:

                          Sidekiqチューニングのためのパラメータ整理 - Qiita
                        • Sidekiq 7の新機能・変更点 - Qiita

                          はじめに Ruby on Rails (以下Rails) でバックグラウンドジョブを実行する際に一番よく使われているのGemである、Sidekiqのバージョン7.0(以下Sidekiq 7)が2022年10月にリリースされました。 このバージョンでは、管理画面へのメトリクスの追加、Pumaなどのプロセスへの埋め込み、キュー毎の同時実行数を制限するカプセルなど、以前よりも大きな機能追加が行われています。 本記事では、Sidekiqの公式サイトの記事や、GitHubの公式プロジェクトの内容を元に、Sidekiq 7の新機能や変更点の解説を行います。 注意点 本記事で取り扱うエディション 本記事ではGitHubで公開しているOSS版のSidekiqについて記述しています。Pro / Enterprise版を使用している場合は、公式サイト(英語)を参考にしてください。 サポートされるRails /

                            Sidekiq 7の新機能・変更点 - Qiita
                          • Amazon ECS環境にSidekiqを導入する

                            概要 ECS環境にRubyのジョブ管理ライブラリSidekiqを導入する際にやったことをまとめてみました 背景 メール送信のように時間がかかる処理や、重たい処理を分割して並列実行したいときに非同期ジョブを使いたくなることがありますよね。 RailsにはActiveJobというジョブ管理のAPIが用意されていますので、これを使わない手はないです。 Railsガイドのジョブを実行するに書かれている通り、本番環境で使うには何らかのキューイングバックエンドが必要です。 production環境でのジョブのキュー登録と実行では、キューイングのバックエンドを用意しておく必要があります。具体的には、Railsで使うべきサードパーティのキューイングライブラリを決める必要があります。 Rails自身が提供するのは、ジョブをメモリに保持するインプロセスのキューイングシステムだけです。 プロセスがクラッシュした

                              Amazon ECS環境にSidekiqを導入する
                            • How does Sidekiq work? | Mike Perham

                              2024-02-04 This article was originally published on DanSvetlov.me and is republished here with permission of the author. This article is relevant to Sidekiq v7. Sidekiq is one of the most ubiquitous1 Ruby background job processors out there. To anybody who has worked with Ruby on and off Rails, it needs no introduction. Sidekiq has a 10+ year track record of being an efficient, battle-tested and s

                              • Amazon ECSのローリングアップデート開始からSidekiq停止までの流れを追う - Money Forward Developers Blog

                                はじめに こんにちは。 SREグループの佐々木と申します。 Amazon ECS(以下、ECS)を使っていて、ローリングアップデート時に、コンテナ上のSidekiqで実行中のジョブに影響が無いのか、気になったことはありませんか? この記事では、ローリングアップデート時のECSとSidekiqの挙動、ローリングアップデート時に気をつけるポイントを紹介します。 ⁠背景 最近、「Sidekiq::Shutdown」のエラーメッセージと共に落ちたジョブがいました。 リリースの際に発生していたので、ECSのローリングアップデート起因で、Sidekiqのジョブが強制終了してしまい、ジョブが落ちたのだろう。と想定していました。 とはいえ、あくまで想定です。 また、ジョブが落ちたことによる影響の有無が分かりませんでした。 そこで、エラーメッセージの原因を調査するために、ECSとSidekiqの挙動を追いま

                                  Amazon ECSのローリングアップデート開始からSidekiq停止までの流れを追う - Money Forward Developers Blog
                                • 週刊Railsウォッチ(20200928前編)Ruby 3.0.0 Preview 1リリース、Rails Guidesにconcernsのドキュメント追加、Sidekiq 2020エディションほか|TechRacho by BPS株式会社

                                  2020.09.28 週刊Railsウォッチ(20200928前編)Ruby 3.0.0 Preview 1リリース、Rails Guidesにconcernsのドキュメント追加、Sidekiq 2020エディションほか こんにちは、hachi8833です。次はKaigi on Railsですね。 Kaigi on Rails公式サイトにてスポンサーページが公開になりました🎉https://t.co/50GJzK6Nr3 開催が来週末に迫ってきました!10/3(土)10:00〜オンライン配信します。#kaigionrails — Kaigi on Rails (@kaigionrails) September 21, 2020 つっつきボイス:「10月3日といえばもうすぐか」「Reject Kaigi on Railsも前日に開催されるそうです↓」「お〜Reject Kaigiもやるとは

                                    週刊Railsウォッチ(20200928前編)Ruby 3.0.0 Preview 1リリース、Rails Guidesにconcernsのドキュメント追加、Sidekiq 2020エディションほか|TechRacho by BPS株式会社
                                  • 🎉 Happy 10th Birthday, Sidekiq! 🎂

                                    2022-01-17 It’s hard for me to believe these words but I pushed Sidekiq’s first commit on Jan 16th, 2012. Ten years ago. The public announcement. One month later. One quarter later. Some context for those new to this blog: Sidekiq is the most popular background job system for the Ruby programming language. Every application has tasks which are important: send an email, charge a credit card, reserv

                                    • Sidekiq 6の新機能・変更点 - Qiita

                                      はじめに Ruby on Rails (以下Rails) でバックグラウンドジョブを実行する際によく使用されるGemである、Sidekiqのバージョン6.0が今年(2019年)9月にリリースされました。このバージョンでは、Active Jobへのオプション指定などの機能強化と共に、パフォーマンス向上が行われ、sidekiqctlコマンドが廃止されるなどの大きな変更が行われています。本記事では実際に使用した経験を元に、Sidekiq 6の新機能や変更点について説明を行います。 注意点 本記事で取り扱うエディション 本記事ではGitHubで公開しているOSS版のSidekiqについて記述しています。Pro / Enterprise版を使用している場合は、公式サイト(英語)を参考にしてください。 サポートされるRails / Ruby / Redisのバージョン サポートされるバージョンは以下の

                                        Sidekiq 6の新機能・変更点 - Qiita
                                      • Sidekiqで例外発生時にSentry通知したり、リトライが全て失敗した時だけSentry通知したりする ·

                                        SidekiqでのSentry通知/リトライの設定方法の話と、「普段は無視するけどリトライが全て失敗した時だけSentry通知したい」といった設定の方法の話をします。 はじめに Sidekiqは6.2 Rails(だけどActiveJobは使わない) sentryのgemはsentry-ruby の前提です。 (なお、Sidekiqはwikiがとっても充実しているので、たいていのことはそこを見ればわかります。 とくに今回のエントリはwikiのエラーハンドリング の内容が参考になります。) 1. Sentryに通知し、リトライもしたい場合 このケースでは、rescueせずに、単に例外を投げっぱなしにすれば良いです。 class FooWorker include Sidekiq::Worker sidekiq_options retry: 5 # 設定しないとデフォルトは25。 class

                                          Sidekiqで例外発生時にSentry通知したり、リトライが全て失敗した時だけSentry通知したりする ·
                                        • Sidekiqのジョブを削除する [Rails] - ノンカフェインであなたにやさしい

                                          ローカル環境で溜まってしまった無駄なジョブにサヨナラする方法です。 処理待ちジョブ確認 処理待ちジョブ1件削除 処理待ちジョブ全件削除 リトライ待ちジョブ確認 リトライ待ちジョブ1件削除 リトライ待ちジョブ全件削除 とりあえず全部削除 の7本立て 処理待ちジョブの確認 require 'sidekiq/api' Sidekiq::Queue.new.each { |job| puts [job.jid, job.klass, job.args].join("\t") } 処理待ちジョブ1件削除 require 'sidekiq/api' Sidekiq::Queue.new.find_job(<job id>).delete 処理待ちジョブ全件削除 require 'sidekiq/api' Sidekiq::Queue.new.clear リトライ待ちジョブ確認 require 'sid

                                            Sidekiqのジョブを削除する [Rails] - ノンカフェインであなたにやさしい
                                          • Kaigi on Rails 2024で Sidekiq vs Solid Queueというタイトルで発表した - おもしろwebサービス開発日記

                                            表題の通り、発表してきました。 Sidekiq vs Solid Queue | Kaigi on Rails 2024 スライドはこちら。 発表に至るまでの道のり イベントの懇親会などでエンジニアの人と話しているときに「最近気になっているgemあります?」のような質問に「Solid Queueですかねえ」と返すと「なんですかそれ?」と聞かれたりする イベントの懇親会などでSidekiqを使っている会社さんの中の人にProやEnterpriseつかってます?と聞くと「なんですかそれ?」と聞かれたりする 新しいRailsで標準になったが、既存のRailsアプリケーションには影響がないもの(例: importmaps)に対して「Railsアップグレードするならこれ対応しないといけないですか?」と聞かれたりする SidekiqとSolid Queueをお題にして話せばこの手の疑問を一気に解決でき

                                              Kaigi on Rails 2024で Sidekiq vs Solid Queueというタイトルで発表した - おもしろwebサービス開発日記
                                            • Railsで非同期処理できるSidekiqの注意点

                                              Railsでアプリケーションを作っていると非同期処理でSidekiqを使用することが多いと思います。今回はSidekiqを使用する際の注意点について記載していきます。 具体的には リトライサーバプロセスが落ちると、jobのデータは失われるメモリ肥大化する問題並列実行数制御について記載します。 Sidekiqを正しく理解して安全に使おう!という記事になります。 まずはSidekiqとは?について記載していきます。 Sidekiqとは Railsで非同期処理を行うためのgemです。複数の非同期処理を同時に実行することができ、サーバリソースを有効活用できます。 以下、処理イメージです。 Rails WEBサーバがリクエストを受け付けるRails WEBサーバは非同期でしたい処理をRedisにjobとして格納するSidekiqが動いているサーバがRedisからjobを取得するSidekiqはjob

                                                Railsで非同期処理できるSidekiqの注意点
                                              • 明日から始めるSidekiqオブザーバビリティ向上

                                                After Kaigi on Rails LT Night で登壇しました https://smartbank.connpass.com/event/299631

                                                  明日から始めるSidekiqオブザーバビリティ向上
                                                • 週刊Railsウォッチ: method_missingの引数を'...'に置き換え、JRuby Prism、Sidekiqのしくみほか(20240306)|TechRacho by BPS株式会社

                                                  週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) 公式更新情報: Ruby on Rails — Enhanced assert_broadcast

                                                    週刊Railsウォッチ: method_missingの引数を'...'に置き換え、JRuby Prism、Sidekiqのしくみほか(20240306)|TechRacho by BPS株式会社
                                                  • railsでsidekiq-schedulerを動かす - Qiita

                                                    公式のUsageはrailsで動かす前提じゃなかったので、railsで動かす場合のUsage的な何か。 0. ばーじょん

                                                      railsでsidekiq-schedulerを動かす - Qiita
                                                    • Sidekiqのエラーハンドリング [翻訳] - Qiita

                                                      Sidekiqのエラーハンドリング 最終更新 2019/07/20 編集者 Scott E. Knight このことについて言及したくはないのですが、ワーカーはジョブの実行中に例外を起こすことがあります。これは避けることのできない事実です。 Sidekiqはすべてのタイプのエラーを処理するための数多くの機能を持っています。 ベストプラクティス エラー集約サービスを使用する。 Honeybadger、Airbrake、Rollbar、BugSnag、Sentry、Exceptiontrap、Raygunなど。これらはすべて機能セットと価格が似ています。いずれかを選択してください。エラー集約サービスは、ジョブに例外が発生するたびにメールを送信します(Honeybadgerなどのよりスマートなものは、1番目、3番目、および10番目の同一エラーで電子メールを送信するため、1000個のジョブが失敗し

                                                        Sidekiqのエラーハンドリング [翻訳] - Qiita
                                                      • PumaやSidekiqでメモリが肥大する問題の対処法 - Qiita

                                                        原因 メモリ使用量が肥大化する原因の一つとして、Rubyのメモリ管理とmallocの仕様(スレッド単位メモリアリーナ)によりメモリの断片化が発生していることが挙げられます。 メモリの断片化であって、メモリリークしているわけではありません。 解決策1. Puma Worker Killerを使う Puma Worker KillerというGemがあります。 PumaのWorkerプロセスが設定したメモリを超えた時に自動でそのプロセスを殺して安全に再起動することでメモリの肥大を防ぎます。 根本的な解決ではありませんが、環境をいじれない人にとってや有効かもしれません。 ただPumaのみの解決であってSidekiqの解決にはなりません。 解決策2. メモリアリーナの最大数を変更する MALLOC_ARENA_MAX環境変数でメモリアリーナの最大数を設定することによってメモリの断片化が改善できます。

                                                          PumaやSidekiqでメモリが肥大する問題の対処法 - Qiita
                                                        • 週刊Railsウォッチ: AR::Relation#destroy_allがバッチ分割に変更、Active Record暗号化解説、sidekiq-unique-jobsほか(20210712前編)|TechRacho by BPS株式会社

                                                          週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) 今回は以下の更新情報から見繕いました。 更新情報: Perform destroy_all in

                                                            週刊Railsウォッチ: AR::Relation#destroy_allがバッチ分割に変更、Active Record暗号化解説、sidekiq-unique-jobsほか(20210712前編)|TechRacho by BPS株式会社
                                                          • Sidekiq Enterpriseの同時実行数制御を理解する - Studyplus Engineering Blog

                                                            こんにちは。サーバーサイドグループの山田です。 最近クロスバイクを買って自転車で走ることにはまっています。 弊社ではRailsアプリケーションの非同期処理やバッチ処理でSidekiq/Sidekiq Enterpriseを使用しています。 tech.studyplus.co.jp Sidekiq Enterpirseには便利な機能が多くありますが、今回は Rate limiting の Concurrent について書いていきます。 なぜConcurrentかというと、先日この設定内容が原因で想定外に大量の待機ジョブを発生させてしまったためです。 その失敗を交えて紹介していきます。 TL;DR Rate LimitingのConcurrentを使う場合 ジョブの処理時間に合わせたlock_timeoutを設定する ジョブの処理を修正する場合はlock_timeoutも見直す Sidekiq

                                                              Sidekiq Enterpriseの同時実行数制御を理解する - Studyplus Engineering Blog
                                                            • ActiveJobとSidekiqを組み合わせたときに、ジョブ単位のオプションはどこまで設定できるか? - Qiita

                                                              Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 背景 非同期処理 一般的なブラウザは、送信したHTTPリクエストが30秒以内に応答されない時はタイムアウトし、そのHTTPリクエストは失敗したと判定します。Webアプリケーションが長時間かかる処理を行いたい場合は、ブラウザがタイムアウトしないように、HTTPリクエストに応答を一旦返し、その後実際の処理を実行します。このような処理をリクエストの応答と実処理の完了が同期していない(同時でない)点から、非同期処理と呼びます。 非同期処理フレームワーク 非同期処理では、一つ一つの処理をジョブと呼びます。Webアプリケーションは、HTTPリクエス

                                                                ActiveJobとSidekiqを組み合わせたときに、ジョブ単位のオプションはどこまで設定できるか? - Qiita
                                                              • Introducing Sidekiq 7.0

                                                                2022-10-27 I’m proud to announce, after nearly a year of work, Sidekiq 7.0 is now available. Sidekiq is the most popular background job system for Ruby, used by thousands of companies around the world. This release is our biggest, most splendiforous release ever! What’s New? Metrics One thing I know: everybody loves big beautiful graphs! Sidekiq 7.0 has a major new feature for tracking and visuali

                                                                • 理解して使うsidekiq-worker-killer - Qiita

                                                                  1. 概要 sidekiqプロセスのメモリ使用率が元に戻らない悩みを解消するためのイチ手段として、 gem「sidekiq-worker-killer」を使う がある。 残念ながら、上記GitHubのReadmeのみでは、その詳細な挙動を知ることは難しい。 そこで本記事では、sidekiq-worker-killerのソースコード(ver.1.0.0)、およびその他関連情報を調査し、sidekiq-worker-killerの設定項目・挙動について全体的にまとめた。 sidekiq-worker-killerの設定の意味・設定方法 sidekiq-worker-killerの処理開始タイミング sidekiq-worker-killerの処理開始後の挙動 2. sidekiq-worker-killerの設定の意味・設定方法 sidekiq-worker-killerのオプション設定につい

                                                                    理解して使うsidekiq-worker-killer - Qiita
                                                                  • RailsにSidekiqを導入するにあたって考慮したポイント

                                                                    最近 Rails アプリケーションにSidekiqを導入したので、 そのときに考慮したポイントと参考になった記事をまとめておく。 考慮したポイント ログ リトライ ActiveJob/ActionMailer との連携 concurrency の設定 Redis/ElastiCache テスト デプロイ shoryuken その他知見 ログ Sidekiq のロギングに Rails logger を利用する - Qiita 通常だとconfig/sidekiq.ymlに設定したログファイルに Sidekiq のログは出力される。 別の出力先にしたいときはSidekiq::Logging.loggerを置き換えると良いとのこと。 Sidekiq で最大回数リトライ後に失敗した場合出すログに例外のバックトレースを含める - Qiita Sidekiq はデフォルトで失敗したジョブのリトライをや

                                                                    • 障害対応等でSidekiq APIを使うときのTips | Wantedly Engineer Blog

                                                                      はじめにSidekiq は主にRuby on Rails用に広く使われているジョブキューです。 Sidekiqは通常Ruby on Railsのアプリケーションコードから呼び出される形で使われますが、障害対応などのために管理画面やRuby APIからの操作が必要になることもあります。本稿ではSidekiqのRuby APIを使うときのTipsをまとめました。 公式の資料API - mperham/sidekiq Wiki (日本語訳)rubydocいつAPIが必要か溜まりすぎたジョブを削除したり、失敗しすぎて停止してしまったジョブの調査・再実行をしたりといった作業が必要になることがあります。 こういった調査と操作は管理画面からでもできますが、ある程度の自動化 (特定条件を満たすジョブを全てドロップするなど) が必要なときにはAPIが有用です。そのため本稿ではジョブ操作APIに特化して説明し

                                                                        障害対応等でSidekiq APIを使うときのTips | Wantedly Engineer Blog
                                                                      • Rails/Sidekiqアプリにおけるconcurrency, connection poolまわりの設定条件

                                                                        You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                          Rails/Sidekiqアプリにおけるconcurrency, connection poolまわりの設定条件
                                                                        • AWS FargateでRailsアプリとSidekiqを動かすやり方 - Qiita

                                                                          FargateでRailsコンテナと別にSidekiqを動かしたかったので試してみました。 その手順を書いていきます。 なお、RailsにSidekiqを導入するやり方については、本記事では紹介しません。 前提 RailsアプリをFargateで動かすまでにやり方については以下の記事に書いております。 Sidekiqの設定確認 Sidekiq.configure_server do |config| config.redis = { url: "redis://#{ENV.fetch("REDIS_URL", "localhost:6379")}", namespace: "sidekiq" } end Sidekiq.configure_client do |config| config.redis = { url: "redis://#{ENV.fetch("REDIS_URL", "

                                                                            AWS FargateでRailsアプリとSidekiqを動かすやり方 - Qiita
                                                                          • Rails: マルチテナントでSidekiqジョブを公平に優先順位付けするsidekiq-fair-tenant gem(翻訳)|TechRacho by BPS株式会社

                                                                            概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: “Fair” multi-tenant prioritization of Sidekiq jobs—and our gem for it!—Martian Chronicles, Evil Martians’ team blog 原文公開日: 2024/02/14 原著者: Andrey Novikov(バックエンドエンジニア)、Travis Turner(技術記事編集者) サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日本語ブログ: 合同会社イービルマーシャンズ - Qiita 日本語タイトルは内容に即したものにしました。 はじめに 多くのバックエンドアプリケーションのマルチテナ

                                                                              Rails: マルチテナントでSidekiqジョブを公平に優先順位付けするsidekiq-fair-tenant gem(翻訳)|TechRacho by BPS株式会社
                                                                            • Sidekiqがどうやって動いているのか、コードを読んで概要を掴めた気がしたのでメモしてみる - Madogiwa Blog

                                                                              みなさん、こんにちは。まどぎわです。 rubyで非同期処理やるときのデファクトスタンダード的なgemsidekiqのコードを読んで、概要が割とつかめた気がしてきたので、どういう感じで動いてるか自分の理解の範囲でメモしてみました🙇 github.com sidekiqの機能としては大きく分けて、 Redisへのqueueのpush Redisからqueueのpopとjobの実行 だと思ったので、それについてsidekiqのコードと合わせて概要を整理してみました。 ※記載しているコードについては、読みやすいコードを削除しているので全文が読みたい方は、それぞれのリンク先で確認いただけますと🙏 前提 今回調べたsidekiqのversionは、2019/04/28現在のmasterである、6.0.0.pre1です。 # frozen_string_literal: true module Si

                                                                                Sidekiqがどうやって動いているのか、コードを読んで概要を掴めた気がしたのでメモしてみる - Madogiwa Blog
                                                                              • Amazon EKSクラスタ上で動作するSidekiqをGraceful Shutdownさせる - Studyplus Engineering Blog

                                                                                こんにちは。スタディプラスのSREグループの水口です。 2022年5月に入社してからStudyplus Engineering Podcastには何度か出演しておりましたが、テックブログは今回初めて書きます。 この記事では、SidekiqをKubernetes(Amazon EKS)で動作させる際、Graceful Shutdownさせるために必要な前提知識を整理します。 背景 Sidekiqプロセスの停止 SIGTERM + timeout オプション Kubernets Podの停止 Deploymentのマニフェストについて terminationGracePeriodSecondsについて Kubernetes Nodeの停止 Cluster Autoscaler について Amazon EC2 スポットインスタンス について 【参考】既存実装について おわりに 【宣伝】Podca

                                                                                  Amazon EKSクラスタ上で動作するSidekiqをGraceful Shutdownさせる - Studyplus Engineering Blog
                                                                                • 【Active Job】Sidekiq vs Resque vs Delayed Job

                                                                                  1. Active Jobとは バックグラウンドで実行するジョブをRailsアプリケーションで動かすための共通インターフェイスです。 例えばメール送信やCSVアップロード等の時間がかかる重い処理はバックグラウンドで実行することが多いです。 Rails 4.2で導入された機能で、非同期処理を実装する際にまず検討する事が多いかと思います。 2. 共通インターフェイスって? Active Jobが導入される以前のRailsバージョンの場合、非同期処理を実装するGemを使用していました。 代表的なものではDelayed JobやSidekiq、Resqueがあります。 当然それぞれのGemで記述や機能が異なっていましたが、Active Jobはそうした違いを気にせずジョブを扱うことができるインフラ機能です。 Railsガイド Active Jobの目的によると、Active Jobには下記のような

                                                                                    【Active Job】Sidekiq vs Resque vs Delayed Job

                                                                                  新着記事