トップ «前の日記(2023/04/20 (木) ) 最新 次の日記(2023/04/22 (土) )» 編集 RSS feed

HsbtDiary


2023/04/21 (金) [長年日記]

bugs.ruby-lang.org の worker を good_job にした

Ruby の issue tracker である https://bugs.ruby-lang.org/ ではメール送信だけワーカーで処理していて、今までは sidekiq を使っていたのだが別にそこまで高可用性を求めるものでもないし、頻度が低いとはいえ redis は redis で EOL バージョンのアップグレード作業が発生するので、RDB にキューイングして処理を行う good_job に置き換えてしまった。

この手の RDB にキューイングする 非同期 worker としては delayed_job が有名なのだが、good_job は pg 専用と割り切ってしまったワーカーで、rubygems.org などでも利用していたりと最近良く見かけるので素振りとして使う目的もある。で、置き換え自体は https://github.com/ruby/b.r-l.o/commit/55828668bf951c2c3d2c1af372880d751bb93078 のようにちゃちゃっと終わったのだが、Ruby 3.2 で動かないという状態になってしまった。

[GoodJob] Notifier errored: ArgumentError: wrong number of arguments (given 1, expected 0)

というエラーなので、これは kwargs 周りのアレだなあと Ruby 3.1 にダウングレードしてみたら動くという状態だったのでそれっぽい。後日、 @mame から https://github.com/rails/rails/pull/46895 これが原因ではないかと教えてもらって気がついたんだけど、Redmine 5.0 は Rails 6.1 でそもそも Ruby 3.2 には正式には対応していないということだった。辛い。

一旦 rails/rails の 6-1-stable を指してデプロイしてみたけど、それでも同じエラーが出続けるので更に別の対応が必要っぽい。ひとまず、good_job に入れ替える前はたまたま Ruby 3.2 でも動いていたというだけだったということもあり、Ruby 3.1 に戻したままにしておくことにした。Redmine が Rails 7.x に対応した時点で Ruby 3.2 にする感じで頑張ろう。

上野公園を散歩

ヨドバシカメラに買い物の用事があったので昼食ついでに上野公園を横断してヨドバシカメラに行ってから帰りに国立西洋美術館の常設展をぶらぶら見てきた。この後に東博も行くかなと思ったけど、想像以上に暑くて汗だくになってきたのでシュッと帰ってしまった。

天気が良いからか海外観光客だけではなく、小中高生も多くて賑わっていたなあ。

本日のツッコミ(全2件) [ツッコミを入れる]
# guen (2023/04/21 (金) 20:37)

上野公園、金曜日は学生さんが多い気がします

# alex (2023/07/11 (火) 20:20)

Hello, i'm a french guys and this article in regard to ruby and good_job has save my days at work ! Thank you guys from the other side of the world.