LoginSignup
11
3

More than 1 year has passed since last update.

[sidekiq schduler]Cron形式での定期処理の書き方

Last updated at Posted at 2022-11-20

自分用の書き方メモです。

:schedule:
  push_line:
    cron: '* * 12 * * *'
    class: PushLineJob
  • 上記のようにconfig/sidekiq.ymlに定期処理をしたいものを書きますが、cronで時間指定をする際の書き方がよくわからなかったのでメモしておきます。

cronを用いた書き方の説明

  • cronでは基本的に*を5つ用いて時間を表します。
  • 左から、分・時・日・月・年で時間を指定して指定日時になったらシステムを動かすというような形で予約できます。

sidekiqschedulerの場合

  • sidekiqschedulerの場合は*が6つあります。
  • 最初は何を表しているかわからなかったのですが、公式のGitHubで「一番左は秒だよ」と書いてありました。
  • そのため左から、秒・分・時・日・月・年を表しています。

注意点

  • ここまででsidekiqschdulerの時間の指定は大丈夫でしょう。
  • 最後に、Railsの時間設定を共通時刻から日本時間に直すのを忘れないようにしましょう。
  • 時の指定あたりから直し忘れるとあたふたします。
  • 5分ごとに繰り返し処理のような場合は以下のようにしましょう。
cron: '0 0/5 * * * *'

ちなみにこう書くと5分ごとに無限に処理が繰り返されました...

cron: '* */5 * * * *'

秒数を指定してないので、5分の間は処理を繰り返すという意味になっているからのようです。

参考記事

https://www.yoheim.net/blog.php?q=20190902
https://zenn.dev/yoiyoicho/articles/538af41a66867d

11
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
3