Code Monkey home page Code Monkey logo

sidekiq-clockwork's Introduction

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.

sidekiq-clockwork's People

Contributors

dependabot[bot] avatar fnando avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

scottwater

sidekiq-clockwork's Issues

Where do I put `clock.rb`?

Where do I place clock.rb to make this work? Is there any other configuration i need to know about in order to kick this off?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.