ATTN: This project uses semantic versioning.
4.4.0 - 2019-04-11
- Support Resque 2
- Support redis-rb 4
- Support Ruby 2.5
- Redis timeouts no longer crash the scheduler process
- Fix race condition when running multiple schedulers
- Fix setting the
poll_sleep_amountoption - Escape class names in resque-web /delayed URLs
- Addressed redis-namespace deprecation warnings
- Ensure
enqueue_inargs are Numeric, catching a common issue passingActiveSupport::Duration
4.3.1 - 2017-11-20
- Add support and testing for ruby 2.4
- Change log format and file name
- Drop testing on ruby 1.9.3
Lock::Resilient: Refresh lua script sha if it does not exist in redis server
- Reporting version via
resque-scheduler --version - Class name escaping in
/delayedview
4.3.0 - 2016-06-26
- Windows testing on Appveyor
- Code of Conduct
- Silence output by default when daemonizing
- Update vagrant setup
- Update gem metadata per latest Bundler defaults
4.2.1 - 2016-06-08
- Docs improvements
- Optimization of
find_delayed_selection - More defensive code around redis disconnects
- Only trap existing signals on given platform
- RuboCop auto-fixes
- Dependency updates
4.2.0 - 2016-04-29
- Index column to scheduler tab
- Failure hook support for better extensibility
- Clean up and simplify the scheduling extension
- Make
Resque::Scheduler.loggeraccessible to user - Default failure handler now outputs stacktrace
- Update rufus-scheduler
- Displaying schedules appropriate to the
envin scheduler UI - A race condition in concurrent restarts
4.1.0 - 2016-02-10
- View helper to cut down on repetition
Resque.(find|enqueue)_delayed_selectionmethods to complementResque.remove_delayed_selection
- Leave undefined env vars unset in internal options hash
- Insulate checking
Rails.env - Documentation updates and typo fixes
- Check thread life only if present
4.0.0 - 2014-12-21
- Show current master in the web UI
- Bump rufus-scheduler dependency to
~> 3.0 - Address warning from redis-namespace related to
#unwatch - Documentation updates
- Bugfix related to schedule check when no jobs are in the queue
3.1.0 - 2014-12-21
- Note in README.md about production redis deployment configuration
- Better PID file cleanup
- Option to filter by job class in
Resque.remove_delayed_selection - Tell-don't-ask with
Resque.scheduleto enable atomic clear & set
- Avoid use of redis
KEYScommand inResque.remove_delayed_selection
- Only release master lock if it belongs to us
- Only override configuration options if provided
3.0.0 - 2014-05-27
- Vagrant setup
- Support for last execution information through the web
- CodeClimate integration
Resque.delayed?andResque.next_delayed_schedule- Allow scheduled jobs to be deleted via resque web
- The grand re-namespacing of
resque_scheduler/(.*)=>resque/scheduler/\1 - "Refactoring"
- Cleanup of a ton of rubocop offenses
- Documentation updates
- Handling signals while "sleeping" by relying on
Thread#wakeup - Testing against same rubies as resque (+ 2.1.1)
- Renamed
Resque.set_last_runtoResque.last_enqueued_at
- Duplicated layout for
search_formpartial template. - Issue where Web UI was ONLY showing jobs that only run in the current environment
2.5.5 - 2014-02-27
- Only showing link to job with args if job is present
- Only showing scheduled jobs that match current env or omit env
- Ensuring lock and acquire lua scripts are refreshed on timeout change
- Switch to using
mono_loggerinstead of stdliblogger
2.5.4 - 2014-02-17
- Documentation updates
2.5.3 - 2014-02-12
- Handling signals during poll sleep
2.5.2 - 2014-02-11
- Pinning down dependency versions more tightly
2.5.1 - 2014-02-09
- Make signal handling (really) Ruby 2 compatible
2.5.0 - 2014-02-09
- Search feature to the Delayed tab in Resque Web
- Use
logger.errorwhen logging errors fromhandle_errors
- Confusion with redis version requirements in
README.md
2.4.0 - 2014-01-14
- Including optional env and app names in procline
- A standalone
resque-schedulerexecutable - Support for persistence of dynamic schedules
.configureconvenience method for block-style configuration.remove_delayed_selectionmethod to remove based on result of a block- Support for viewing all schedules for a job in web UI
- Bumping the copyright year
- Corrected doc for syntax of class and every keys
- Use resque redis namespace in the master lock key
- Various test improvements, 🐛 fixes, and documentation updates!
- POSSIBLE BREAKING CHANGE: Dropping support for ree
- An explosion regarding
everyin the views - Unsafe shutdown in Ruby 2
require_pathsin gemspec
- Add rufus scheduler
everynotice to README - Specify MIT license in gemspec
- BREAKING CHANGE: Added
RESQUE_SCHEDULER_INTERVALin place ofINTERVAL - Use
Float()instead ofInteger()to calculate poll sleep amount - Upgraded dependence of Resque to support 1.25
- Use
Resque.validateinstead of custom.validate_job!
- Re-introduced
ThreadErroron Ruby 2
- Support for parameterized resque jobs.
- Allowing prefix for
master_lock_key. Resque.clean_schedulesmethod, which is useful when setting up the scheduler for the first time.
- Locking rufus-scheduler dependency to
~> 2.0 - Updated redis dependency to
>= 3.0.0
- Bug fixes related to first time schedule retrieval and missing schedules.
- Add
#scheduled_atwhich returns an array of timestamps at which the specified job is scheduled - Add
#enqueue_delayedfor enqueueing specific delayed jobs immediately - Show server local time in resque-web
- Add support for configuring
Resque::Scheduler.poll_sleep_amountvia theINTERVALenvironmental variable.
- Locking to resque < 1.25.0 (for now)
- Syncing stdout/stderr
- Using a logger instead of
#puts, configurable viaLOGFILE,VERBOSE, andMUTEenvironmental variables, as well as being settable viaResque::Scheduler#logger - Enqueue immediately if job is being enqueued in the past
- Dependency on
Resque::Helpers
- Ensuring
Resque.schedule=sets rather than appends - Process daemonization fixes including stdio redirection and redis client reconnection
- Scheduler template when arrays are passed to rufus-scheduler
- Fixed shutdown in ruby 2.0.0
2.0.1 - 2013-03-20
- Locking to support master failover
- Allow custom job classes to be used in
Resque.enqueue_at - Allowing
#enqueue_atto call#scheduledwhenResque.inlineistrue
- More efficient
#remove_delayedimplementation
2.0.0 - 2012-05-04
- Support for Resque.inline configuration (carlosantoniodasilva)
- Possible job loss race condition around deleting delayed queues and enqueuing a job 0 seconds in the future.
2.0.0.h - 2012-03-19
- Plugin support with hooks (andreas)
2.0.0.f - 2011-11-03
- Support
ENV['BACKGROUND']flag for daemonizing (bernerdschaefer) - Added support for
before_scheduleandafter_schedulehooks (yaauie) - Added
remove_delayed_job_from_timestampto remove delayed jobs from a given timestamp.
- Address race condition with delayed jobs (using redis transactions)
2.0.0.e - 2011-09-16
enqueue_at_with_queue/enqueue_in_with_queuesupport (niralisse)Resque::Scheduler.poll_sleep_amountto allow for configuring the sleep time b/w delayed queue polls.- "Clear Delayed Jobs" button to the Delayed Jobs page (john-griffin)
- Pagination issue on the Delayed tab
2.0.0.d - 2011-04-04
- Porting bug fixes from v1.9-stable
2.0.0.c - 2011-03-25
- Rake task drop a pid file (sreeix)
2.0.0.b - 2011-02-25
- Bugs
- Dynamic schedule support (brianjlandau, davidyang)
- Now depends on redis >=1.3
1.9.11 - 2013-11-20
- Behavior of
#validate_job!via#enqueue_at_with_queue#286 require_pathsin gemspec #288
1.9.10 - 2013-09-19
- Backported
#enqueue_at_with_queue - Locking to resque < 1.25.0
- Ruby 1.8 compatibility in scheduler tab when schedule keys are symbols
- Mocha setup compatibility
1.9.9 - 2011-03-29
- Compatibility with resque 1.15.0
1.9.8 - 2011-01-14
- Validates delayed jobs prior to insertion into the delayed queue (bogdan)
- Rescue exceptions that occur during queuing and log them (dgrijalva)
1.9.7 - 2010-11-09
- Support for rufus-scheduler "every" syntax (fallwith)
- Ability to pass a Time to
handle_delayed_itemsfor testing/staging (rcarver)
1.9.6 - 2010-10-08
- Support for custom job classes (like resque-status) (mattetti)
1.9.5 - 2010-09-09
- Updated scheduler rake task to allow for an alternate setup task to avoid loading the entire stack. (chewbranca)
- Sig issue on win32 (#25)
1.9.4 - 2010-07-29
- Ability to remove jobs from delayed queue (joshsz)
- Issue #23 (removing .present? reference)
1.9.3 - 2010-07-07
- Bug fix (#19)
1.9.2 - 2010-06-16
- Issue with redis gem 2.0.1 and redis server 1.2.6 (dbackeus)
1.9.1 - 2010-06-04
- Issue with redis server 1.2.6 and redis gem 2.0.1
1.9.0 - 2010-06-04
- Redis 2.0 support (bpo)
1.8.2 - 2010-06-04
- Queue now functionality to delayed timestamps (daviddoan)
1.8.1 - 2010-05-19
rails_envfor scheduled jobs to support scoping jobs byRAILS_ENV(gravis).- Adding gemspec for bundler support.
- Ruby 1.8.6 compatibility issue.
1.8.0 - 2010-04-14
- Tests for resque-web (gravis)
- Moving version to match corresponding resque version
- Sorting schedule on Scheduler tab
1.0.5 - 2010-03-01
- Support for overriding queue from schedule config.
- The queue is now stored with the job and arguments in the delayed queue so there is no longer a need for the scheduler to load job classes to introspect the queue.
- resque-web dependency on loading the job classes for "Queue Now", provided "queue" is specified in the schedule.
1.0.4 - 2010-02-26
- Support for specifying the queue to put the job onto. This allows for you to have one job that can go onto multiple queues and be able to schedule jobs without having to load the job classes.
1.0.3 - 2010-02-11
- Support for scheduled jobs with empty crons. This is helpful to have jobs that you don't want on a schedule, but do want to be able to queue by clicking a button.
1.0.2 - 2010-02-10
- Delayed Job tab to display job details if only 1 job exists for a given timestamp
1.0.1 - 2010-02-01
- Delayed jobs close together resulted in a 5 second sleep
1.0.0 - 2009-12-21
- Initial release