並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 51件

新着順 人気順

Sidekiqの検索結果1 - 40 件 / 51件

  • Railsでpumaやsidekiqのスレッド数とコネクションプールの数ってどうやって決めるんですか | 働くひとと組織の健康を創る iCARE

    この記事はiCARE Dev Advent Calendar 2022 第1レーン24日目の記事です。 Railsの基本原則の一つに「メニューはおまかせ」があり、デフォルトで設定を良い感じにしてくれています。しかし、本当に自分のユースケースでも問題ない設定だと自信を持って言うためには、なぜこの設定になっているのかの背景知識が必要になります。例えばrails newをするとpumaのスレッド数はデフォルト5、データベースのコネクションプール数も5になっています。これは自分のユースケースで適切な値なのでしょうか?どういうときにいくつに設定するのが正しいのでしょうか? pumaのスレッド数をどうやって決めるのか pumaはRailsのデフォルトのアプリケーションサーバであり、複数プロセス、複数スレッドで動くアプリケーションサーバです。この記事を執筆している時点で最も利用率の高いアプリケーションサ

      Railsでpumaやsidekiqのスレッド数とコネクションプールの数ってどうやって決めるんですか | 働くひとと組織の健康を創る iCARE
    • 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 のワーカーノードをオートスケールさせてEC2の稼働コストを60%削減させるまで - Qiita

            「Sidekiq のワーカーノードが稼働する EC2 インスタンスをオートスケールしたい」という依頼人の願いを、匠が叶えます。 このストーリーの登場人物は以下の2人です。 依頼人 = アプリケーションエンジニア or マネジメント層(適宜文脈によって読み替えてください) 匠 = インフラエンジニア Before まずは依頼人が抱えるお悩みについて話を聞いてみることにします。 インフラ構成 依頼人のサーバ構成は、 Sidekiq では標準的な構成を採用していました(図1, 2)。 Web ノードでタスクを Redis 登録し、 Worker ノードで Redis からタスクを取り出し実行します。 Web ノードは API として外部に公開されているほか、 Sidekiq の GUI として利用しています。 各ノードは AutoScalingGroup を構成していますが、台数固定で稼働してい

              Sidekiq のワーカーノードをオートスケールさせてEC2の稼働コストを60%削減させるまで - Qiita
            • バックグラウンドで実行するバッチ処理の改善のためSidekiq Enterpriseを導入しました🥳 - メドピア開発者ブログ

              こんにちは、エンジニアの森田です。 MedPeerでは、バックグラウンドで非同期に処理を実行させる方法としてSidekiqを使っておりましたが、今回Sidekiq Enterprise(Proを含む)を導入しました。 https://sidekiq.org/products/enterprise.html 今回はSidekiq Enterpriseを導入するにあたって解決したかった課題と実際の導入方法、導入後の活用事例をを紹介できればと思います! Sidekiq Enterpriseとは? Sidekiq Enterpriseとは、その名の通りエンタープライズ向けの機能拡張が行われた有料版のSidekiqです。(Sidekiq Enterpriseとは別にSidekiq Proもありますが、Sidekiq Enterpriseを導入するとSidekiq Proの機能も使用出来るようになりま

                バックグラウンドで実行するバッチ処理の改善のためSidekiq Enterpriseを導入しました🥳 - メドピア開発者ブログ
              • How does Sidekiq really work?

                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 of application logic into the background. It utilizes a threaded model for job processing, uses Redis as a bac

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

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

                    Sidekiqで実現するRuby on Railsでの分散プログラミング - Techouse Developers Blog
                  • 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株式会社
                    • 週刊Railsウォッチ(20191015)スライド「Rails Performance issues and Solutions」を見る、dirtyに*_previously_was が追加、Sidekiq 6.0.1ほか|TechRacho by BPS株式会社

                      2019.10.15 週刊Railsウォッチ(20191015)スライド「Rails Performance issues and Solutions」を見る、dirtyに*_previously_was が追加、Sidekiq 6.0.1ほか こんにちは、hachi8833です。台風前のつっつきでしたので、エントリを減らし気味にしてみました🙇。 台風19号の最大瞬間風速は75mらしく、これを時速に直すと270km/h。 東海道新幹線の最高速度が285km/h、飛行機の離陸時の速度が240〜300km/hらしいので、新幹線や飛行機並みのスピードでいろんなものが飛んできます。ヤバい。https://t.co/iKTTEgf5Nzhttps://t.co/Ic8ky9GPsUhttps://t.co/Ic8ky9GPsU pic.twitter.com/Y5TpNX2Dvg — Junich

                        週刊Railsウォッチ(20191015)スライド「Rails Performance issues and Solutions」を見る、dirtyに*_previously_was が追加、Sidekiq 6.0.1ほか|TechRacho by BPS株式会社
                      • 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
                          • 週刊Railsウォッチ(20190917-1/2前編)Sidekiq 6.0がリリース、銀座Rails#13と「出張!Railsウォッチ」、るびま0060号、ロックイン回避の落とし穴ほか|TechRacho by BPS株式会社

                            2019.09.17 週刊Railsウォッチ(20190917-1/2前編)Sidekiq 6.0がリリース、銀座Rails#13と「出張!Railsウォッチ」、るびま0060号、ロックイン回避の落とし穴ほか こんにちは、hachi8833です。 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 毎月第一木曜日に「公開つっつき会」を開催しています: お気軽にご応募ください ⚓週刊Railsウォッチ「公開つっつき会」第15回のお知らせ(無料) お申込み: 週刊Railsウォッチ公開つっつき会 第15回|IT勉強会ならTECH PLAY[テックプレイ] 第15回目公開つっつき会は、10月5日(木)19:30〜にBPS会議スペースにて開催さ

                              週刊Railsウォッチ(20190917-1/2前編)Sidekiq 6.0がリリース、銀座Rails#13と「出張!Railsウォッチ」、るびま0060号、ロックイン回避の落とし穴ほか|TechRacho by BPS株式会社
                            • 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

                              • Sidekiqの導入からECSデプロイまで

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

                                  Sidekiqの導入からECSデプロイまで
                                • 週刊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株式会社
                                  • sidekiq pro / enterpriseのwikiを読んだので気になった機能の概要をMEMO✍ - Madogiwa Blog

                                    今回はタイトル通り、sidekiq pro / enterpriseのwikiを読んだので、忘れないように気になった機能の概要をメモしておきます✍ ⚠私が拙い英語力 + 技術力で理解した内容のMEMOです。内容が間違っている可能性があるので、注意してください。⚠ 前提事項 sidekiq pro Batches Reliability Client-side Reliability Expiring Jobs sidekiq enterprise Rolling Restarts Rate Limiting Concurrent Bucket, Window Unlimited Periodic Jobs Unique Jobs おわりに 前提事項 整理した内容は、2019/04/30現在のsidekiqのwikiに記載されている内容です。 Home · mperham/sidekiq W

                                      sidekiq pro / enterpriseのwikiを読んだので気になった機能の概要をMEMO✍ - Madogiwa Blog
                                    • 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
                                      • 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
                                        • 🎉 Happy 10th Birthday, Sidekiq! 🎂 | Mike Perham

                                          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

                                          • Ruby on Rails の Active Job と SideKiq でバックグラウンドジョブをキューイングして実行する - Qiita

                                            Ruby on Rails の Active Job と SideKiq でバックグラウンドジョブをキューイングして実行するRailssidekiqActiveJob はじめに 本記事は Active Job とアダプタとして Sidekiq を使ってバックグラウンドジョブを実行する環境を整えた時の備忘録です。 Active Job とは Active Job は Rails におけるバックグラウンドジョブを動かすための共通インタフェースです。 バックグラウンドジョブを動かす Sidekiq、Resque、Delayed Job をアダプタとして利用できます。 Rails で提供されるのはジョブをメモリに保持するインプロセスのキューイングシステムだけなので Rails を再起動するとジョブは全て失われます。(アダプタを指定しなかった場合のデフォルト動作)(参考) Rails4.2 から A

                                              Ruby on Rails の Active Job と SideKiq でバックグラウンドジョブをキューイングして実行する - 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] - ノンカフェインであなたにやさしい
                                                • Railsで非同期処理できるSidekiqの注意点

                                                  Railsでアプリケーションを作っていると非同期処理でSidekiqを使用することが多いと思います。今回はSidekiqを使用する際の注意点について記載していきます。 具体的には リトライサーバプロセスが落ちると、jobのデータは失われるメモリ肥大化する問題並列実行数制御について記載します。 Sidekiqを正しく理解して安全に使おう!という記事になります。 まずはSidekiqとは?について記載していきます。

                                                    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株式会社
                                                      • Scaling Sidekiq at Gusto

                                                        Queues may lead to bottlenecks, both for sheep and background jobs.Over the past year at Gusto, we’ve drastically changed how we approach Sidekiq in our main Rails monolith. Our changes have reduced costs, reduced the number of outages, made it simpler for product engineers to use Sidekiq, and improved the customer experience. This blog post will go through the different aspects of our Sidekiq tra

                                                          Scaling Sidekiq at Gusto
                                                        • 『HerokuでSidekiqを監視する方法を確立した』という発表をした - Feedforce Developer Blog

                                                          こんにちは id:masutaka26 です。最近はドラクエウォークと足底筋膜炎との両立に悩んでいます。 先週の金曜日、週次の社内勉強会 FFTT で『HerokuでSidekiqを監視する方法を確立した』という発表をしました。 Heroku で Sidekiq を監視する知見を見つけられなかったのが、このお題を選んだ経緯です。どなたかが参考になるとうれしいです。 今回は自宅からのリモート発表でした。物理発表と違って、話した内容よりもリアクションの分からなさによる戸惑いが気になってしまいました。(オイ ※ リアクションはしてくれてたみたいです。🙏 複数モニター必須とか、いろいろ知見がありそうなので、今後蓄積出来ると良さそうです。

                                                            『HerokuでSidekiqを監視する方法を確立した』という発表をした - Feedforce Developer Blog
                                                          • railsでsidekiq-schedulerを動かす - Qiita

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

                                                              railsでsidekiq-schedulerを動かす - Qiita
                                                            • PumaやSidekiqでメモリが肥大する問題の対処法 - Qiita

                                                              RailsアプリケーションでPumaを使ったり、非同期処理のためにSidekiqを使うことはよくあると思います。 アプリケーションを長期運用しているとPumaやSidekiqのメモリ使用量が肥大しOOM Killerにプロセスを殺されたり。なんてことがよく起きます。 原因 メモリ使用量が肥大化する原因の一つとして、Rubyのメモリ管理とmallocの仕様(スレッド単位メモリアリーナ)によりメモリの断片化が発生していることが挙げられます。 メモリの断片化であって、メモリリークしているわけではありません。 解決策1. Puma Worker Killerを使う Puma Worker KillerというGemがあります。 PumaのWorkerプロセスが設定したメモリを超えた時に自動でそのプロセスを殺して安全に再起動することでメモリの肥大を防ぎます。 根本的な解決ではありませんが、環境をいじれ

                                                                PumaやSidekiqでメモリが肥大する問題の対処法 - Qiita
                                                              • Sidekiqをredis-namespaceから脱却した話

                                                                【アドカレ2023】Sidekiqのredis-namespace gemからの脱却 これは 株式会社TimeTree Advent Calendar 2023 の12日目の記事です。 11日目は @gonsee の カレンダー開発の怖い話: 週番号 の記事 でした。 こんにちは。今年の4月からTimeTreeに入社し、プロダクトDivというチームに所属しています。 社内では Dashというニックネームで働いています。 この記事では、 redis-namespacegemからの脱却までに行なった手法などを紹介していこうと思います。 ※この記事に使用しているバージョンはそれぞれ下記の通りです。 Ruby on Rails:7.0.8 ElasticCache for Redis:7.0.7 Sidekiq Pro:5.5.8 redisgem:4.8.1 redis-namespacegem

                                                                  Sidekiqをredis-namespaceから脱却した話
                                                                • 週刊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

                                                                      ActiveJobとSidekiqを組み合わせたときに、ジョブ単位のオプションはどこまで設定できるか?RubyRailssidekiq非同期処理ActiveJob 背景 非同期処理 一般的なブラウザは、送信したHTTPリクエストが30秒以内に応答されない時はタイムアウトし、そのHTTPリクエストは失敗したと判定します。Webアプリケーションが長時間かかる処理を行いたい場合は、ブラウザがタイムアウトしないように、HTTPリクエストに応答を一旦返し、その後実際の処理を実行します。このような処理をリクエストの応答と実処理の完了が同期していない(同時でない)点から、非同期処理と呼びます。 非同期処理フレームワーク 非同期処理では、一つ一つの処理をジョブと呼びます。Webアプリケーションは、HTTPリクエストを受け取ると、次のように動作します。 リクエストに応じたジョブを作成 ジョブをキューと呼ばれ

                                                                        ActiveJobとSidekiqを組み合わせたときに、ジョブ単位のオプションはどこまで設定できるか? - Qiita
                                                                      • Sidekiqのエラーハンドリング [翻訳] - Qiita

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

                                                                          Sidekiqのエラーハンドリング [翻訳] - Qiita
                                                                        • Introducing Sidekiq 7.0 | Mike Perham

                                                                          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 はデフォルトで失敗したジョブのリトライをや

                                                                              • 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