Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fnando/sidekiq-clockwork
Sidekiq::Clockwork is a simplistic implementation of a job scheduler based on Clockwork, but without having to run a separate process.
https://github.com/fnando/sidekiq-clockwork
clockwork job-scheduler scheduler sidekiq
Last synced: 27 days ago
JSON representation
Sidekiq::Clockwork is a simplistic implementation of a job scheduler based on Clockwork, but without having to run a separate process.
- Host: GitHub
- URL: https://github.com/fnando/sidekiq-clockwork
- Owner: fnando
- License: mit
- Created: 2018-10-15T07:17:29.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2023-03-16T09:57:00.000Z (over 1 year ago)
- Last Synced: 2024-04-25T23:44:23.964Z (7 months ago)
- Topics: clockwork, job-scheduler, scheduler, sidekiq
- Language: Ruby
- Homepage:
- Size: 45.9 KB
- Stars: 6
- Watchers: 3
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# sidekiq-clockwork
[![Tests](https://github.com/fnando/sidekiq-clockwork/workflows/ruby-tests/badge.svg)](https://github.com/fnando/sidekiq-clockwork)
[![Gem](https://img.shields.io/gem/v/sidekiq-clockwork.svg)](https://rubygems.org/gems/sidekiq-clockwork)
[![Gem](https://img.shields.io/gem/dt/sidekiq-clockwork.svg)](https://rubygems.org/gems/sidekiq-clockwork)Sidekiq::Clockwork is a simplistic implementation of a job scheduler based on
Clockwork, but without having to run a separate process.## Installation
```bash
gem install sidekiq-clockwork
```Or add the following line to your project's Gemfile:
```ruby
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).```ruby
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
- [Nando Vieira](https://github.com/fnando)
## Contributors
- https://github.com/fnando/sidekiq-clockwork/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](https://opensource.org/licenses/MIT). 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](https://github.com/fnando/sidekiq-clockwork/blob/main/CODE_OF_CONDUCT.md).