Skip to content

Releases: rq/rq

v2.10

Choose a tag to compare

@selwin selwin released this 20 Jun 03:12
  • Added webhook notifications to notify external end points when a job finishes or fails. Thanks @selwin!
  • RQScheduler now has a stable identity and persisted metadata. Thanks @selwin!

v2.9.1

Choose a tag to compare

@selwin selwin released this 06 Jun 02:49
  • Job.create() now supports retry argument. Thanks @sethuvishal!
  • Add compatibility with redis-py >= 8. Thanks @selwin!

v2.9

Choose a tag to compare

@selwin selwin released this 19 May 15:02
4ee8428
  • Added json and pickle shorthand aliases for serializers. These can now be used when creating queues/workers and with the --serializer CLI option. Thanks @selwin!
  • Fixed a bug where SpawnWorker does not use user supplied serializer. Thanks @selwin!
  • Queue.parse_args() now returns a EnqueueArgs named tuple. Thanks @libmilos-so!
  • Fixed a race condition that could cause worker keys in Redis to get out of sync when Redis is under load. Thanks @terencehonles!
  • Enqueueing deferred jobs now removes them from DeferredJobRegistry. Thanks @selwin!
  • SpawnWorker now uses repr() when reconstructing worker, job and queue identifiers in child processes. Thanks @selwin!
  • Minor typing and cleanup improvements. Thanks @selwin and @rextea!

v2.8

Choose a tag to compare

@selwin selwin released this 17 Apr 00:22
  • Added support for unique jobs. Passing unique=True with job_id prevents duplicate jobs from being enqueued or scheduled. Thanks @selwin!
  • Result now stores execution metadata (execution_id, execution_started_at and execution_ended_at). Thanks @selwin!
  • Retry now supports enqueue_at_front=True, allowing retried jobs to be requeued at the front of the queue. Thanks @crazillagodzilla!
  • Custom job_id values may only contain letters, numbers, underscores and dashes. Thanks @selwin!
  • When a job is stopped, its dependencies are no longer enqueued. Thanks @selwin!
  • DeferredJobRegistry is now scored by job creation time. Thanks @selwin!
  • Workers now print a warning instead of raising an exception when CLIENT LIST is not supported. Thanks @selwin and @djmaze!

v2.7

Choose a tag to compare

@selwin selwin released this 22 Feb 11:09
  • Formal support for Python 3.14. Thanks @selwin!
  • Improve CronScheduler monitoring, you can now monitor each CronJob's latest and next scheduled enqueue time. Thanks @selwin!
  • job.get_status() now reports the correct final state inside on_success / on_failure callbacks. Thanks @Fridayai700!
  • Minor fixes and cleanups. Thanks @selwin, @stratakis, @JimNero009 and @Fridayai700!

v2.6.1

Choose a tag to compare

@selwin selwin released this 22 Nov 06:45

v2.6

Choose a tag to compare

@selwin selwin released this 06 Sep 03:15
  • Added CronScheduler.all() that returns a list of active schedulers. Thanks @selwin!
  • Various internal cleanups and refactoring. Thanks @selwin!

v2.5

Choose a tag to compare

@selwin selwin released this 15 Aug 10:45
  • CronScheduler now supports running periodic jobs based on cron string. Thanks @selwin!
  • Fixed an issue where SpawnWorker does not properly register successful job executions. Thanks @selwin!
  • Fixed an issue where Worker may fail to register custom job and queue classes. Thanks @armicron!
  • Added result.worker_name to easily trace which Worker generated the result. Thanks @selwin!
  • Dropped support for Redis server < 5. Thanks @selwin!

v2.4.1

Choose a tag to compare

@selwin selwin released this 20 Jul 11:54
  • Worker will now automatically choose TimerDeathPenalty if UnixSignalDeathPenalty is not available. Thanks @selwin!
  • Introduced CREATED Job status for jobs that are not enqueued not deferred. Thanks @selwin!
  • Worker can now import Job and Queue classes from string. Thanks @selwin!
  • Fixed a bug in Group.cleanup(). Thanks @dixoncrews-gdl!
  • Logging improvements and code cleanups. Thanks @selwin, @SpecLad!

v2.4

Choose a tag to compare

@selwin selwin released this 14 Jun 03:58
  • Added rq cron CLI command. Thanks @selwin!
  • Various tests, typing improvements and cleanups. Thanks @SpecLad!
  • When a job is canceled, you can now optionally clean it from dependencies using job.cancel(remove_from_dependencies=True). Thanks @Marishka17!
  • RQ now requires Python >= 3.9. Thanks @Jankovn and @selwin!