Skip to content

Instantly share code, notes, and snippets.

@kaosf
Created December 3, 2014 07:43
Show Gist options
  • Select an option

  • Save kaosf/7d6f2ba1f9eb67aaa176 to your computer and use it in GitHub Desktop.

Select an option

Save kaosf/7d6f2ba1f9eb67aaa176 to your computer and use it in GitHub Desktop.
SidekiqのCron化について

ondrejbartas/sidekiq-cron

を参照すると良いかもしれません.詳しい使い方は知りませんがこれを用いてcron的に動いているものはあるので実績はあるはずです.

Sidekiq::Cron::Job.load_from_hash(
  {
    'name': {
      'cron': '* * * * *',
      'class': MyWorker,
      'queue': 'default: 2',
    }
  }
)

みたいに作れると思います.

参考

@sunny4381

Copy link
Copy Markdown

sidekiq の公式文書 によると、CRON 実行のようなことをしたい場合 wheneveclockwork gem を使えとあります。

whenever の例として次のようなコードを config/schedule.rb に書けば良いとあります。

every 1.day, :at => '12:01 pm' do
  runner 'Warehouse::FtpPull.perform_async'
end

sidekiq-cron gem は、sidekiq 向けに専用開発されているように見えます。
whenever は、sidekiq 以外にも system('bundler exec rake ...') などで rake タスクを実行でき、応用が利きそうです。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment