せらぴんブログ

サークル「せらぴん」のうのはな透です。やっぱり眼鏡っ娘が好き!!

遅延処理に使えそうなgem

業務で遅延処理が必要だったので、Rubyで下記のような感じで実装しました。

  • 遅延処理の情報(実行メソッド、実行予定時刻、パラメータ)をDBのワーカーテーブルに書き込む
  • ワーカースレッドがワーカーテーブルを定期的に読み込んで処理を実行する

業務が終わって調べたんですが、それっぽいgemが当然のようにありました(震え声)


github.com
qiita.com


delayed_job自体は非同期処理をするためのgemっぽいんだけど、
:run_atを指定することで、その時間に処理を発火させることができるみたい(未検証)。

また車輪の再発明をしてしまったらしい……。