- Support for RQ 2.0. Thanks @selwin!
- Support for RQ 1.14. Thanks @HerrTxbias!
- Added
result_ttlandttlarguments toscheduler.cron(). Thanks @marcelblijleven!
- Minimum Python version is now 3.6. Thanks @ronlut!
- Support for RQ 1.13. Thanks @ronlut!
- Added
at_frontparameter toenqueue_at(). Thanks @gabriels1234! - Added support for
on_successandon_failurehandler toenqueue_*methods. Thanks @andy-takker! - Replace
croniterwithcrontabpackage. Thanks @zentist!
Schedulernow acceptsqueue_classargument. Thanks @gisce!- Fixes local timezone handling. Thanks @Eugeny!
- You can now run multiple schedulers at the same time. Thanks @oxalorg!
- You can now schedule a job with dependency by specifying the
depends_onkwarg. Thanks @noncomputable! - Added
use_local_timezoneargument toscheduler.cron(). Thanks @Eugeny!
scheduler._create_job()now respectsqueue_nameparameter. Thanks @shubhamdipt!- Added
queue_nameparameter toenqueue_at()andenqueue_in(). Thanks @gauravmk!
- Compatible with RQ >= 0.13 and redis-py >= 3.0. Thanks @ericatkin and @selwin!
scheduler.schedule()now acceptsmetaargument. Thanks @as3445!scheduler.get_jobs()now returns an iterator. Thanks @craynic!
- Fixed lock management error. Thanks @chaffeqa!
- Fixed conflicting
-qparameter from rqscheduler script. Thanks @sourcepirate!
- Fixed packaging error
- Added support for custom
JobandQueueclasses. Thanks @skirsdeda! - You can now pass in a
Queueobject when instantiating the scheduler as suchScheduler(queue=queue). Thanks @peergradeio! - Fixes a crash that happens when the scheduler runs for longer than sleep interval. Thanks @chaffeqa!
- Added
job_description,job_id,job_ttlandjob_result_ttlkwargs toenqueue_atandenqueue_in. Thanks @bw, @ryanolf and @gusevaleksei! - You can now run
rqschedulerwith--quietor-qflag to silenceINFOlevel log messages. Thanks @bw! - Scheduler will now enqueue jobs at exactly the defined interval. Thanks @hamx0r!
- You can now run multiple schedulers at the same time. Thanks @marcinn!
- Added
scheduler.count(). Thanks @smaccona! scheduler.get_jobs()now supports pagination. Thanks @smaccona!- Better
ttlandresult_ttldefaults for jobs created byscheduler.cron. Thanks @csaba-stylight and @lechup!
- Added
scheduler.cron()capability. Thanks @petervtzand! scheduler.schedule()now acceptsidandttlkwargs. Thanks @mbodock!
- Travis CI fixes. Thanks Steven Kryskalla!
- Modified default logging configuration. You can pass in the
-vor--verboseargument torqschedulerscript for more verbose logging. - RQ Scheduler now registers Queue name when a new job is scheduled. Thanks @alejandrodob !
- You can now schedule jobs with string references like
scheduler.schedule(scheduled_time=now, func='foo.bar'). Thanks @SirScott ! rqschedulerscript now accepts floating point intervals. Thanks Alexander Pikovsky!
- IMPORTANT! Job timestamps are now stored and interpreted in UTC format. If you have existing scheduled jobs, you should probably change their timestamp to UTC before upgrading to 0.5.0. Thanks @michaelbrooks!
- You can now configure Redis connection via environment variables. Thanks @malthe!
rqschedulerscript now accepts--pidargument. Thanks @jsoncorwin!
- Supports Python 3!
Scheduler.schedulenow allows jobtimeoutto be specifiedrqschedulerallows Redis connection to be specified via--urlargumentrqschedulernow accepts--pathargument
- Scheduler key is not set to expire a few seconds after the next scheduling
operation. This solves the issue of
rqschedulerrefusing to start after an unexpected shut down.
- Support
StrictRedis
- Scheduler related job attributes (
intervalandrepeat) are now stored injob.metaintroduced in RQ 0.3.4
- You can now check whether a job is scheduled for execution using
job in schedulersyntax - Added
scheduler.get_jobsmethod scheduler.enqueueandscheduler.enqueue_periodicwill now raise a DeprecationWarning, please usescheduler.scheduleinstead
- Periodic jobs now require
RQ_ >= 0.3.1
- Added the capability to create periodic (cron) and repeated job using
scheduler.enqueue