Skip to content

fnando/sidekiq-clockwork

Repository files navigation

sidekiq-clockwork

Tests Gem Gem

Sidekiq::Clockwork is a simplistic implementation of a job scheduler based on Clockwork, but without having to run a separate process.

Installation

gem install sidekiq-clockwork

Or add the following line to your project's Gemfile:

gem "sidekiq-clockwork"

Usage

Create your job scheduler and make sure that it's loaded by Sidekiq's server (when you run the sidekiq command).

Sidekiq::Clockwork.run do
  # This is the default timeout
  # sleep_timeout 0.1

  # By default, it comes with a error handler like the following:
  # error_handler do |error|
  #   $stderr << "[CLOCKWORK] #{error.class}: #{error.message}"
  #   $stderr << " (" << error.backtrace_locations.first << ")\n"
  # end
  #
  # You can clean up error handlers with:
  # error_handlers.clear
  #
  # You may want to use an exception tracker like Rollbar:
  # error_handler do |error|
  #   Rollbar.error(error)
  # end
  #

  # You can schedule jobs by using `every`, which receives
  # an interval in seconds.
  every(30.seconds) { SomeWorker.perform_async }
end

Sidekiq::Clockwork is single-threaded and sequencial by design, so make sure your scheduler only enqueue jobs without doing any processing (tl;dr make it as fast as you can).

Maintainer

Contributors

Contributing

For more details about how to contribute, please read https://github.com/fnando/sidekiq-clockwork/blob/main/CONTRIBUTING.md.

License

The gem is available as open source under the terms of the MIT License. A copy of the license can be found at https://github.com/fnando/sidekiq-clockwork/blob/main/LICENSE.md.

Code of Conduct

Everyone interacting in the sidekiq-clockwork project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

About

Sidekiq::Clockwork is a simplistic implementation of a job scheduler based on Clockwork, but without having to run a separate process.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published