質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

0回答

3317閲覧

sidekiqの複数サーバ・複数設定の場合のcapistrano設定

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2017/03/04 07:54

編集2022/01/12 10:55

###前提・実現したいこと

下記のようなsidekiqの構成でシステムを運用しており、
capistranoできれいにデプロイできる環境を作りたいと考えています。

  • バッチサーバが複数ある
  • 各バッチサーバで異なる設定ファイルのsidekiqプロセスを起動
  • 各設定ファイルでは担当するキューや並列数の設定が異なる

###sidekiq構成例

  • バッチサーバ1:QueueA と QueueB を担当

-- QueueAは並列数4
-- QueueBは外部APIをキックする処理で、外部APIの並列制約の関係で並列数は1

  • バッチサーバ2:QueueCを担当

-- QueueCの並列数は8
-- QueueCの処理は重いため、QueueA、QueueBとお互いに影響を受けないようにしたい

↑こちらの構成で、設定ファイルは下記の3つです。

  • QueueA用の設定:並列数4、バッチサーバ1で稼働
  • QueueB用の設定:並列数1、バッチサーバ1で稼働
  • QueueC用の設定:並列数4、バッチサーバ2で稼働

↑こちらは例で簡素にしていますが、実際はより複雑化した構成です。

###注意
sidekiqがキューに優先度を持たせられる点は承知していますが、
仕様上、キューの優先度では表現不可と判断しています。

###試したこと
現状では、capistrano-sidekiqを使用しており、下記のように
バッチサーバ1、2用の設定を分けて管理することで、
ある程度のデプロイの自動化を行っています。

cap batch1 deploy cap batch2 deploy

これを、通常どおり、cap production deployのようにデプロイできるのが理想です。

イメージとしては、capistrano-sidekiqで各サーバ毎に設定ファイルを多対多の関係で
設定できるようになることです。

このようなケースでキレイにデプロイできるgemや、設定方法などに知見があれば、
ご教授いただければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問