- Minimum Python version is now 3.6. Thanks @ronlut!
- Support for RQ 0.13. Thanks @ronlut!
- Added
at_front
parameter toenqueue_at()
. Thanks @gabriels1234! - Added support for
on_success
andon_failure
handler toenqueue_*
methods. Thanks @andy-takker! - Replace
croniter
withcrontab
package. Thanks @zentist!
Scheduler
now acceptsqueue_class
argument. 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_on
kwarg. Thanks @noncomputable! - Added
use_local_timezone
argument toscheduler.cron()
. Thanks @Eugeny!
scheduler._create_job()
now respectsqueue_name
parameter. Thanks @shubhamdipt!- Added
queue_name
parameter toenqueue_at()
andenqueue_in()
. Thanks @gauravmk!
- Compatible with RQ >= 0.13 and redis-py >= 3.0. Thanks @ericatkin and @selwin!
scheduler.schedule()
now acceptsmeta
argument. Thanks @as3445!scheduler.get_jobs()
now returns an iterator. Thanks @craynic!
- Fixed lock management error. Thanks @chaffeqa!
- Fixed conflicting
-q
parameter from rqscheduler script. Thanks @sourcepirate!
- Fixed packaging error
- Added support for custom
Job
andQueue
classes. Thanks @skirsdeda! - You can now pass in a
Queue
object 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_ttl
andjob_result_ttl
kwargs toenqueue_at
andenqueue_in
. Thanks @bw, @ryanolf and @gusevaleksei! - You can now run
rqscheduler
with--quiet
or-q
flag to silenceINFO
level 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
ttl
andresult_ttl
defaults for jobs created byscheduler.cron
. Thanks @csaba-stylight and @lechup!
- Added
scheduler.cron()
capability. Thanks @petervtzand! scheduler.schedule()
now acceptsid
andttl
kwargs. Thanks @mbodock!
- Travis CI fixes. Thanks Steven Kryskalla!
- Modified default logging configuration. You can pass in the
-v
or--verbose
argument torqscheduler
script 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 ! rqscheduler
script 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!
rqscheduler
script now accepts--pid
argument. Thanks @jsoncorwin!
- Supports Python 3!
Scheduler.schedule
now allows jobtimeout
to be specifiedrqscheduler
allows Redis connection to be specified via--url
argumentrqscheduler
now accepts--path
argument
- Scheduler key is not set to expire a few seconds after the next scheduling
operation. This solves the issue of
rqscheduler
refusing to start after an unexpected shut down.
- Support
StrictRedis
- Scheduler related job attributes (
interval
andrepeat
) are now stored injob.meta
introduced in RQ 0.3.4
- You can now check whether a job is scheduled for execution using
job in scheduler
syntax - Added
scheduler.get_jobs
method scheduler.enqueue
andscheduler.enqueue_periodic
will now raise a DeprecationWarning, please usescheduler.schedule
instead
- Periodic jobs now require
RQ
_ >= 0.3.1
- Added the capability to create periodic (cron) and repeated job using
scheduler.enqueue