0.08
No release in over 3 years
Low commit activity in last 3 years
There's a lot of open issues
A wrapper for scheduling jobs through ActiveJob
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 3.5

Runtime

>= 4.2.0
>= 0
 Project Readme

Gem VersionBuild Status Coveralls branchCode Climate

active_scheduler

active_scheduler is a gem to take a standard schedule one would use with resque scheduler and wraps it to work with ActiveJob.

Currently only Resque is supported, but pull requests to add other queues (sidekiq, etc) would be welcomed!

Requirements/Support

  • Ruby 2.0+
  • ActiveJob
    • 4.2 is tested and used in production
    • 5.0-6.0 is tested against CI, but I haven't tried it in production.
  • Resque
  • Resque Scheduler

Setup

Installation

Add active_scheduler to your Gemfile.

Usage

In your Resque initializer:

require 'resque/server'
require 'resque/scheduler/server'
require 'active_scheduler'

# ... Set up your Resque ...
...

yaml_schedule    = YAML.load_file("#{Rails.root}/config/resque_schedule.yaml") || {}
wrapped_schedule = ActiveScheduler::ResqueWrapper.wrap yaml_schedule
Resque.schedule  = wrapped_schedule

Example Format

simple_job:
  every: "30s"
  queue: "simple"
  class: "SimpleJob"
  args:
    -
  description: "It's a simple job."

ThisIsTheClass:
  cron: "* * * *"
  queue: 'cronny'
  description: "Will call the ThisIsTheClass class"

Only classes that are descended from ActiveJob::Base will be wrapped

Job Classes With Named Args

If you have a job class that uses named arguments you can specify that. args should be a hash nested in the array and you need to add the named_args key.

simple_job:
  every: "30s"
  queue: "simple"
  class: "SimpleJob"
  args:
    - foo: 1
      bar: 2
  description: "It's a simple job."
  named_args: true

Credits

License

MIT