We have some news to share for the request index beta feature. We’ve added more options to sort your requests, counters to the individual filters and documentation for the search functionality. Checkout the blog post for more details.

File python-rq.changes of Package python-rq

-------------------------------------------------------------------
Wed Jan 21 13:47:53 UTC 2026 - Markéta Machová <mmachova@suse.com>

- Update to 2.6.1
  * CronScheduler now supports running periodic jobs based on cron string.
  * Fixed an issue where SpawnWorker does not properly register successful
    job executions.
  * Fixed an issue where Worker may fail to register custom job and queue
    classes.
  * Added result.worker_name to easily trace which Worker generated the
    result.
  * Added CronScheduler.all() that returns a list of active schedulers.
  * Updated CronScheduler to accept job_timeout instead of timeout argument.

-------------------------------------------------------------------
Wed Jul 23 10:45:51 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>

- Update to 2.4.1
  * `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!
- from version 2.4.0
  * 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!
- from version 2.3.3
  * `WorkerPool` now accepts `queue_class` argument. Thanks @amonsh1!
  * Disallow `redis-py=6.0.0`. Thanks @selwin and @terencehonles!
  * Minor typing improvements. Thanks @SpecLad!
- from version 2.3.2
  * Don't log job description when `log_job_description` is set to False.
    Thanks @danilopeixoto!
  * Fixes an issue where `pubsub_thread` may die in the background.
    Thanks @ankush!
- from version 2.3.1
  * Fixes an issue running RQ on Windows. Thanks @selwin!
- from version 2.3.0
  * Added the feature to repeat jobs. Thanks @selwin!
  * Officially support Valkey. Thanks @selwin!
  * Fixes an issue that prevents jobs from being enqueued across multiple
    with using Redis pipeline. Thanks @Nativu5!
- from version 2.2.0
  * Added `SpawnWorker` that uses `multiprocessing.spawn` to spawn worker
    processes. This makes RQ usable in operating systems without `os.fork()`
    like Windows. Thanks @selwin!
  * RQ now always use timezone aware timestamps. Thanks @deathtracktor!
  * `StartedJobRegistry.cleanup()` now properly creates job results.
    Thanks @OlegZv!
  * Fixed a bug in worker logging configuration. Thanks @rlaminseok0824!
  * Reworked RQ's pubsub thread to not use polling. Thanks @ankush!
  * Fixed a bug where `WorkerPool` status is never set to `STARTED`.
    Thanks @taleinat!
  * `Worker.monitor_work_horse()` now properly handles `InvalidJobOperation`.
    Thanks @fancyweb!
  * `queue.enqueue_many` now always registers the queue in RQ's queue registry.
    Thanks @eswolinsky3241!
  * Minor fixes and improvements. Thanks @hongquan, @OlegZv, @victorb, @rparini!
- from version 2.1.0
  * `job.id` must not contain `:`. Thanks @sanurielf!
  * Various type hint improvements by @terencehonles!
  * `job.ended_at` should be set when job is run synchronously.
    Thanks @alexprabhat99!
  * `Group.all()` now properly handles non existing group.
    Thanks @eswolinsky3241!
  * Use `ruff` instead of `black` as formatter. Thanks @hongquan!

-------------------------------------------------------------------
Thu Nov  7 15:28:00 UTC 2024 - Nico Krapp <nico.krapp@suse.com>

- Update to 2.0.0
  New Features
  * Multiple job executions: a job can now have multiple executions 
    running simultaneously. This will enable future support for long 
    running scheduled jobs. Thanks @selwin!
  * Worker(default_worker_ttl=10) is deprecated in favor of 
    Worker(worker_ttl=10). Thanks @stv8!
  * Added a cleanup parameter to registry.get_job_ids() and 
    registry.get_job_count(). Thanks @anton-daneyko-ultramarin!
  * Added support for AWS Elasticache Serverless Redis. 
    Thanks @bobbywatson3!
  * You can now specify TTL for deferred jobs. Thanks @hberntsen!
  * RQ's code base is now typed (mostly). Thanks @terencehonles!
  * Other minor fixes and improvements. 
    Thanks @hongquan, @rbange, @jackkinsella, @terencehonles, @wckao, @sim6!
  Breaking Changes
  * Dropped support for Redis server < 4
  * RoundRobinWorker and RandomWorker are deprecated. 
    Use --dequeue-strategy <round-robin/random> instead.
  * Job.__init__ requires both id and connection to be passed in.
  * Job.exists() requires connection argument to be passed in.
  * Queue.all() requires connection argument.
  * @job decorator now requires connection argument.
  * Built in Sentry integration has been removed. 
    To use Sentry with RQ, please refer to Sentry's docs.
  Bug Fixes
  * Fixed an issue where abandoned jobs are sometimes not enqueued. 
    Thanks @Marishka17!
  * Fixes an issue where Redis connection does not expose name attribute. 
    Thanks @wckao!
  * job.get_status() will now always return JobStatus enum. 
    Thanks @indepndnt!
  * Queue key should always be created even if jobs are deferred. 
    Thanks @sim6!
  * RQ's pubsub thread will now attempt to reconnect on 
    Redis connection errors. Thanks @fcharlier!
- Update to 1.16.2
  * Fixed a bug that may cause jobs from intermediate queue to be moved 
    to FailedJobRegistry. Thanks @selwin!
- Update to 1.16.1
  * Added worker_pool.get_worker_process() to make WorkerPool easier 
    to extend. Thanks @selwin!
- Update to 1.16.0
  * Added a way for jobs to wait for latest result 
    job.latest_result(timeout=60). Thanks @ajnisbet!
  * Fixed an issue where stopped_callback is not respected when job 
    is enqueued via enqueue_many(). Thanks @eswolinsky3241!
  * worker-pool no longer ignores --quiet. Thanks @Mindiell!
  * Added compatibility with AWS Serverless Redis. Thanks @peter-gy!
  * worker-pool now starts with scheduler. Thanks @chromium7!

-------------------------------------------------------------------
Wed Dec  6 22:25:44 UTC 2023 - Dirk Müller <dmueller@suse.com>

- update to 1.15.1:
  * Fixed a bug that may cause a crash when cleaning intermediate
    queue.
  * Fixed a bug that may cause canceled jobs to still run
    dependent jobs.

-------------------------------------------------------------------
Sun Jun 11 13:32:44 UTC 2023 - ecsos <ecsos@opensuse.org>

- Add %{?sle15_python_module_pythons}

-------------------------------------------------------------------
Sat May 27 21:32:30 UTC 2023 - Dirk Müller <dmueller@suse.com>

- update to 1.15:
  * Added `Callback(on_stopped='my_callback)`.
  * `Callback` now accepts dotted path to function as input.
  * `queue.enqueue_many()` now supports job dependencies.
  * `rq worker` CLI script now configures logging based on
    `DICT_CONFIG` key present in config file.
  * Whenever possible, `Worker` now uses `lmove()` to implement
    reliable queue pattern.
  * `Scheduler` should only release locks that it successfully
    acquires.
  * Fixes crashes that may happen by changes to `as_text()`
    function in v1.14.
  * Various linting, CI and code quality improvements.
  * Fixes a crash that happens if Redis connection uses SSL.
  * Fixes a crash if `job.meta()` is loaded using the wrong
    serializer.
  * Added `WorkerPool` (beta) that manages multiple workers in a
    single CLI.
  * Added a new `Callback` class that allows more flexibility in
    declaring job callbacks.
  * Fixed a regression where jobs with unserializable return
    value crashes RQ.
  * Added `--dequeue-strategy` option to RQ's CLI.
  * Added `--max-idle-time` option to RQ's worker CLI.
  * Added `--maintenance-interval` option to RQ's worker CLI.
  * Fixed RQ usage in Windows as well as various other
    refactorings.
  * Show more info on `rq info` CLI command. Thanks @iggeehu!
  * `queue.enqueue_jobs()` now properly account for job
    dependencies.
  * `TimerDeathPenalty` now properly handles negative/infinite
    timeout.
  * Added `work_horse_killed_handler` argument to `Worker`.
  * Fixed an issue where results aren't properly persisted on
    synchronous jobs.
  * Fixed a bug where job results are not properly persisted when
    `result_ttl` is `-1`.
  * Various documentation and logging fixes.
  * Improve Redis connection reliability.
  * Scheduler reliability improvements.
  * Fixed a bug where `dequeue_timeout` ignores `worker_ttl`.
  * Use `job.return_value()` instead of `job.result` when
    processing callbacks.
  * Various internal refactorings to make `Worker` code more
    easily extendable.
  * RQ's source code is now black formatted.
  * RQ now stores multiple job execution results. This feature is
    only available on Redis >= 5.0 Redis Streams. Please refer to
    the docs for more info.
  * Improve performance when enqueueing many jobs at once.
  * Redis server version is now cached in connection object.
  * Properly handle `at_front` argument when jobs are scheduled.
  * Add type hints to RQ's code base.
  * Fixed a bug where exceptions are logged twice.
  * Don't delete `job.worker_name` after job is finished.

-------------------------------------------------------------------
Thu Dec 22 08:21:10 UTC 2022 - Daniel Garcia <daniel.garcia@suse.com>

- Set BuildArch to noarch, this package doesn't have anything that depends on
  the arch.

-------------------------------------------------------------------
Thu Dec 22 06:34:46 UTC 2022 - Daniel Garcia <daniel.garcia@suse.com>

- Add multibuild for tests to avoid build cycle with python-sentry-sdk.
  bsc#1206590

-------------------------------------------------------------------
Mon Dec  5 15:35:13 UTC 2022 - ecsos <ecsos@opensuse.org>

- Update to 1.11.1
  - queue.enqueue_many() now supports on_success and on on_failure
    arguments.
  - You can now pass enqueue_at_front to Dependency() objects to
    put dependent jobs at the front when they are enqueued.
  - Fixed a bug where workers may wrongly acquire scheduler locks.
  - Jobs should not be enqueued if any one of it's dependencies is
    canceled.
  - Fixed a bug when handling jobs that have been stopped.
  - Fixed a bug in handling Redis connections that don't allow
    SETNAME command.
- Update to 1.11.0
  - This will be the last RQ version that supports Python 3.5.
  - Allow jobs to be enqueued even when their dependencies fail via
    Dependency(allow_failure=True).
  - When stopped jobs are deleted, they should also be removed from
    FailedJobRegistry.
  - job.requeue() now supports at_front() argument.
  - Added ssl support for sentinel connections.
  - SimpleWorker now works better on Windows.
  - Added on_failure and on_success arguments to @job decorator.
  - Fixed a bug in dependency handling.
  - Minor fixes and optimizations
- Remove https://github.com/rq/rq/issues/1646 items in spec file.
- Remove -k 'not (test_failure_capture or test_worker)' from pytest.

-------------------------------------------------------------------
Thu Apr 14 08:52:04 UTC 2022 - pgajdos@suse.com

- do not require python-mock for build

-------------------------------------------------------------------
Mon Jan 17 18:35:11 UTC 2022 - Marcus Rueckert <mrueckert@suse.de>

- Update to 1.10.1
  - Failure callbacks are now properly called when job is run
    synchronously. Thanks @ericman93!
  - Fixes a bug that could cause job keys to be left over when
    `result_ttl=0`. Thanks @selwin!
  - Allow `ssl_cert_reqs` argument to be passed to Redis. Thanks
    @mgcdanny!
  - Better compatibility with Python 3.10. Thanks @rpkak!
  - `job.cancel()` should also remove itself from registries.
    Thanks @joshcoden!
  - Pubsub threads are now launched in `daemon` mode. Thanks
    @mik3y!
  - You can now enqueue jobs from CLI. Docs
    [here](https://python-rq.org/docs/#cli-enqueueing). Thanks
    @rpkak!
  - Added a new `CanceledJobRegistry` to keep track of canceled
    jobs. Thanks @selwin!
  - Added custom serializer support to various places in RQ. Thanks
    @joshcoden!
  - `cancel_job(job_id, enqueue_dependents=True)` allows you to
    cancel a job while enqueueing its dependents. Thanks
    @joshcoden!
  - Added `job.get_meta()` to fetch fresh meta value directly from
    Redis. Thanks @aparcar!
  - Fixes a race condition that could cause jobs to be incorrectly
    added to FailedJobRegistry. Thanks @selwin!
  - Requeueing a job now clears `job.exc_info`. Thanks @selwin!
  - Repo infrastructure improvements by @rpkak.
  - Other minor fixes by @cesarferradas and @bbayles.
  - Added success and failure callbacks. You can now do
    `queue.enqueue(foo, on_success=do_this, on_failure=do_that)`.
    Thanks @selwin!
  - Added `queue.enqueue_many()` to enqueue many jobs in one go.
    Thanks @joshcoden!
  - Various improvements to CLI commands. Thanks @rpkak!
  - Minor logging improvements. Thanks @clavigne and @natbusa!

-------------------------------------------------------------------
Mon Jun 28 14:33:46 UTC 2021 - Markéta Machová <mmachova@suse.com>

- Update to 1.8.1
  * You can now declare multiple job dependencies.
  * Added support for running asyncio tasks.
  * Now horses are killed by their parent group. This helps in cleanly
    killing all related processes if job uses multiprocessing.
  * Fixed scheduler on Python > 3.8.0.
  * RQ is now aware of which version of Redis server it's running on.
  * More changes, see upstream changelog.

-------------------------------------------------------------------
Wed Jul 22 12:38:39 UTC 2020 - ecsos <ecsos@opensuse.org>

- Update to 1.4.3
  * Added job.get_position() and queue.get_job_position(). Thanks @aparcar!
  * Longer TTLs for worker keys to prevent them from expiring inside the worker lifecycle. Thanks @selwin!
  * Long job args/kwargs are now truncated during logging. Thanks @JhonnyBn!
  * job.requeue() now returns the modified job. Thanks @ericatkin!
- Fix build error for Leap: Since 1.4.0 rq require python >= 3.4.

-------------------------------------------------------------------
Thu Jun 11 05:04:56 UTC 2020 - Steve Kowalik <steven.kowalik@suse.com>

- Update to 1.4.2:
  * RQ 1.4.2 (2020-05-26)
    + Reverted changes to hmset command which causes workers on Redis server < 4 to crash. Thanks @selwin!
    + Merged in more groundwork to enable jobs with multiple dependencies. Thanks @thomasmatecki!
  * RQ 1.4.1 (2020-05-16)
    + Default serializer now uses pickle.HIGHEST_PROTOCOL for backward compatibility reasons. Thanks @bbayles!
    + Avoid deprecation warnings on redis-py >= 3.5.0. Thanks @bbayles!
  * RQ 1.4.0 (2020-05-13)
    + Custom serializer is now supported. Thanks @solababs!
    + delay() now accepts job_id argument. Thanks @grayshirt!
    + Fixed a bug that may cause early termination of scheduled or requeued jobs. Thanks @rmartin48!
    + When a job is scheduled, always add queue name to a set containing active RQ queue names. Thanks @mdawar!
    + Added --sentry-ca-certs and --sentry-debug parameters to rq worker CLI. Thanks @kichawa!
    + Jobs cleaned up by StartedJobRegistry are given an exception info. Thanks @selwin!

-------------------------------------------------------------------
Wed Jun 10 16:49:11 UTC 2020 - Marcus Rueckert <mrueckert@suse.de>

- BR redis to make the testsuite work

-------------------------------------------------------------------
Tue May 19 09:27:47 UTC 2020 - Petr Gajdos <pgajdos@suse.com>

- %python3_only -> %python_alternative

-------------------------------------------------------------------
Thu Mar 19 04:21:53 UTC 2020 - Steve Kowalik <steven.kowalik@suse.com>

- Update to 1.3.0:
  * RQ 1.3.0 (2020-03-09)
    + Support for infinite job timeout. Thanks @theY4Kman!
    + Added __main__ file so you can now do python -m rq.cli. Thanks @bbayles!
    + Fixes an issue that may cause zombie processes. Thanks @wevsty!
    + job_id is now passed to logger during failed jobs. Thanks @smaccona!
    + queue.enqueue_at() and queue.enqueue_in() now supports explicit args and kwargs function invocation. Thanks @selwin!
  * RQ 1.2.2 (2020-01-31)
    + Job.fetch() now properly handles unpickleable return values. Thanks @selwin!
  * RQ 1.2.1 (2020-01-31)
    + enqueue_at() and enqueue_in() now sets job status to scheduled. Thanks @coolhacker170597!
    + Failed jobs data are now automatically expired by Redis. Thanks @selwin!
    + Fixes RQScheduler logging configuration. Thanks @FlorianPerucki!
  * RQ 1.2.0 (2020-01-04)
    + This release also contains an alpha version of RQ's builtin job scheduling mechanism. Thanks @selwin!
    + Various internal API changes in preparation to support multiple job dependencies. Thanks @thomasmatecki!
    + --verbose or --quiet CLI arguments should override --logging-level. Thanks @zyt312074545!
    + Fixes a bug in rq info where it doesn't show workers for empty queues. Thanks @zyt312074545!
    + Fixed queue.enqueue_dependents() on custom Queue classes. Thanks @van-ess0!
    + RQ and Python versions are now stored in job metadata. Thanks @eoranged!
    + Added failure_ttl argument to job decorator. Thanks @pax0r!

-------------------------------------------------------------------
Sat Aug 24 06:01:26 UTC 2019 - Jan Engelhardt <jengelh@inai.de>

- Trim conjecture from description.

-------------------------------------------------------------------
Mon Aug 12 15:07:48 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>

- Update to 1.1.0:
  * Many feature updates and bugfixes to support new python stack
- Execute tests

-------------------------------------------------------------------
Mon Feb  4 13:40:07 UTC 2019 - Marcus Rueckert <mrueckert@suse.de>

- initial package
openSUSE Build Service is sponsored by