Sha256: 0cbb5c866ae818d7886f3db4407172ffca6d689da432ae1cd05b6e5d5b9a9030
Contents?: true
Size: 1.72 KB
Versions: 1
Compression:
Stored size: 1.72 KB
Contents
[![Build Status](https://travis-ci.org/sellect/delayed_cron.png?branch=master)](https://travis-ci.org/sellect/delayed_cron) [![Code Climate](https://codeclimate.com/github/sellect/delayed_cron.png?branch=master)](https://codeclimate.com/github/sellect/delayed_cron) # DelayedCron run cron jobs with sidekiq, delayed_job, resque, or sucker_punch ### DEPENDENCIES: - background process handler: sidekiq, delayed_job, resque, or sucker_punch ### INSTALL ```ruby gem "delayed_cron", "~> 0.2.7" ``` ### USE IN MODEL ```ruby class Product < ActiveRecord::Base ... # Define in Model # * this is an alternative to the cron_jobs array in config # # OPTIONS: *optional # - interval - override default_inteveral from setup # - at - set time of day the cron should be run, timezone and seconds are optional cron_job :some_method_to_run_as_cron, interval: 3.days, at: "00:00:00 -0400" def self.some_method_to_run_as_cron # this method will be run every 3 days at midnight end ... end ``` ### CONFIGURE ```ruby DelayedCron.setup do |config| # default interval to run cron jobs config.default_interval = 10.minutes # array of methods to run at the above configured interval config.cron_jobs = [ "SomeClass.expensive_task", # will run at default interval { job: "AnotherClass.other_expensive_task", interval: 1.hour } # override default ] end ``` ### NOTES: - when using with sidekiq and rails there can be a config/initializer load order issue. Below is a fix to insure sidekiq is loaded first ```ruby Rails.application.config.after_initialize do DelayedCron.setup do |config| ... end end ``` This initializes dealyed cron after all other initializers have loaded. ### TO DO: - add support for Resque
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
delayed_cron-0.2.8 | README.md |