Skip to content

Latest commit

 

History

History
56 lines (37 loc) · 1.07 KB

File metadata and controls

56 lines (37 loc) · 1.07 KB

Sidekiq::Repeat

Another recurrent job scheduler for Sidekiq. Clockless.

Credits

This gem takes the clockless scheduling approach of (and a lot of code from) Sidekiq::Dejavu by Felix Bünemann and adapts it to the in-code configuration style of Sidetiq by Tobias Svensson. Thanks to both for their great gems.

Usage

cron-style recurrence notation

require 'sidekiq'
require 'sidekiq-repeat'

class TestWorker
  include Sidekiq::Worker
  include Sidekiq::Repeat::Repeatable

  # Every Sunday at 3AM.
  repeat { '0 3 * * 0' }

  def perform
  end
end

Sidetiq/ice_cube-style recurrence notation

Check the code for documentation.

[...]
  # Every other hour.
  repeat { hourly(2) }
[...]

Development

# setup
bundle install

# Start Redis in another terminal (or use an existing instance)
docker run --rm -p 127.0.0.1:16379:6379 redis:8-alpine

# Run the tests
bundle exec rake test

License

MIT.