public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/python-rq] rawhide: update to 2.11
@ 2026-08-17 16:53 Paul Wouters
0 siblings, 0 replies; only message in thread
From: Paul Wouters @ 2026-08-17 16:53 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/python-rq
Branch : rawhide
Commit : 5c88dc2356a73ded781ca717bd9303710df68569
Author : Paul Wouters <paul.wouters@aiven.io>
Date : 2026-08-17T12:53:06-04:00
Stats : +11/-219 in 5 file(s)
URL : https://src.fedoraproject.org/rpms/python-rq/c/5c88dc2356a73ded781ca717bd9303710df68569?branch=rawhide
Log:
update to 2.11
Remove conditional on testing, no longer needed.
---
diff --git a/2359.patch b/2359.patch
deleted file mode 100644
index 8fe772a..0000000
--- a/2359.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From c1c480a6f6759025a1ebaaf54c6c16ae516dab95 Mon Sep 17 00:00:00 2001
-From: Charalampos Stratakis <cstratak@redhat.com>
-Date: Tue, 10 Feb 2026 15:46:25 +0100
-Subject: [PATCH] Use fork multiprocessing context in
- test_handle_shutdown_request
-
-This was missed in upstream commit df29cf6 which fixed the other three
-HerokuWorkerShutdownTestCase tests for Python 3.14+ compatibility.
----
- tests/test_worker.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/tests/test_worker.py b/tests/test_worker.py
-index de17325c9..603b77cb4 100644
---- a/tests/test_worker.py
-+++ b/tests/test_worker.py
-@@ -1642,7 +1642,9 @@ def test_handle_shutdown_request(self, mock_logger):
- w = HerokuWorker('foo', connection=self.connection)
-
- path = os.path.join(self.sandbox, 'shouldnt_exist')
-- p = Process(target=create_file_after_timeout_and_setpgrp, args=(path, 2))
-+ # Use 'fork' context to avoid pickling issues with Redis connections in Python 3.14+
-+ ForkProcess = multiprocessing.get_context('fork').Process
-+ p = ForkProcess(target=create_file_after_timeout_and_setpgrp, args=(path, 2))
- p.start()
- self.assertEqual(p.exitcode, None)
- time.sleep(0.1)
diff --git a/615525b.patch b/615525b.patch
deleted file mode 100644
index 7bfbf18..0000000
--- a/615525b.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 615525b6cae0a4ea472d14cb051185cc8e0aa82a Mon Sep 17 00:00:00 2001
-From: Selwin Ong <selwin.ong@gmail.com>
-Date: Sat, 31 Jan 2026 16:52:21 +0700
-Subject: [PATCH] Explicitly use Process with `fork` method (#2358)
-
----
- rq/scheduler.py | 6 ++++--
- rq/worker_pool.py | 11 +++++++----
- 2 files changed, 11 insertions(+), 6 deletions(-)
-
-diff --git a/rq/scheduler.py b/rq/scheduler.py
-index 47cb82313..567500694 100644
---- a/rq/scheduler.py
-+++ b/rq/scheduler.py
-@@ -6,7 +6,7 @@
- from collections.abc import Iterable
- from datetime import datetime
- from enum import Enum
--from multiprocessing import Process
-+from multiprocessing import get_context
- from typing import Optional, Union
-
- from redis import ConnectionPool, Redis
-@@ -20,6 +20,8 @@
- from .serializers import resolve_serializer
- from .utils import current_timestamp, parse_names
-
-+ForkProcess = get_context('fork').Process
-+
- SCHEDULER_KEY_TEMPLATE = 'rq:scheduler:%s'
- SCHEDULER_LOCKING_KEY_TEMPLATE = 'rq:scheduler-lock:%s'
-
-@@ -200,7 +202,7 @@ def start(self):
- # Redis instance can't be pickled across processes so we need to
- # clean this up before forking
- self._connection = None
-- self._process = Process(target=run, args=(self,), name='Scheduler')
-+ self._process = ForkProcess(target=run, args=(self,), name='Scheduler')
- self._process.start()
- return self._process
-
-diff --git a/rq/worker_pool.py b/rq/worker_pool.py
-index ee5e6f999..3da67299c 100644
---- a/rq/worker_pool.py
-+++ b/rq/worker_pool.py
-@@ -6,7 +6,8 @@
- import time
- from collections.abc import Iterable
- from enum import Enum
--from multiprocessing import Process
-+from multiprocessing import get_context
-+from multiprocessing.process import BaseProcess
-
- # TODO: Change import path to "collections.abc" after we stop supporting Python 3.8
- from typing import TYPE_CHECKING, NamedTuple, Optional, Union
-@@ -24,6 +25,8 @@
- from .utils import parse_names
- from .worker import BaseWorker, Worker
-
-+ForkProcess = get_context('fork').Process
-+
- if TYPE_CHECKING:
- from rq.serializers import Serializer
-
-@@ -31,7 +34,7 @@
- class WorkerData(NamedTuple):
- name: str
- pid: int
-- process: Process
-+ process: BaseProcess
-
-
- class WorkerPool:
-@@ -155,9 +158,9 @@ def get_worker_process(
- burst: bool,
- _sleep: float = 0,
- logging_level: str = 'INFO',
-- ) -> Process:
-+ ) -> BaseProcess:
- """Returns the worker process"""
-- return Process(
-+ return ForkProcess(
- target=run_worker,
- args=(name, self._queue_names, self._connection_class, self._pool_class, self._pool_kwargs),
- kwargs={
diff --git a/df29cf6.patch b/df29cf6.patch
deleted file mode 100644
index 3609443..0000000
--- a/df29cf6.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From df29cf63550a253fe7b7161235b8f66be68e95d4 Mon Sep 17 00:00:00 2001
-From: Selwin Ong <selwin.ong@gmail.com>
-Date: Sun, 4 Jan 2026 21:39:45 +0700
-Subject: [PATCH] Add Python 3.14 to test matrix (#2349)
-
-* Add Python 3.14 to test matrix
-
-* Fix tests on Python 3.14
----
- .github/workflows/valkey.yml | 2 +-
- .github/workflows/workflow.yml | 2 +-
- pyproject.toml | 1 +
- tests/test_worker.py | 13 ++++++++++---
- 4 files changed, 13 insertions(+), 5 deletions(-)
-
-diff --git a/.github/workflows/valkey.yml b/.github/workflows/valkey.yml
-index 5c2727628..0f02ae5e8 100644
---- a/.github/workflows/valkey.yml
-+++ b/.github/workflows/valkey.yml
-@@ -37,7 +37,7 @@ jobs:
-
- strategy:
- matrix:
-- python-version: ["3.12", "3.13"]
-+ python-version: ["3.12", "3.13", "3.14"]
- valkey-version: ["7.2", "8.0"]
- redis-py-version: ["5", "6"]
-
-diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml
-index a323869e9..c516c589d 100644
---- a/.github/workflows/workflow.yml
-+++ b/.github/workflows/workflow.yml
-@@ -37,7 +37,7 @@ jobs:
- timeout-minutes: 10
- strategy:
- matrix:
-- python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
-+ python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
- redis-version: [5, 6, 7]
- redis-py-version: [5, 6]
-
-diff --git a/pyproject.toml b/pyproject.toml
-index 5573ca093..4a4721985 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -31,6 +31,7 @@ classifiers = [
- "Programming Language :: Python :: 3.11",
- "Programming Language :: Python :: 3.12",
- "Programming Language :: Python :: 3.13",
-+ "Programming Language :: Python :: 3.14",
- "Topic :: Internet",
- "Topic :: Scientific/Engineering",
- "Topic :: Software Development :: Libraries :: Python Modules",
-diff --git a/tests/test_worker.py b/tests/test_worker.py
-index bbca3330d..00d1422ad 100644
---- a/tests/test_worker.py
-+++ b/tests/test_worker.py
-@@ -1,4 +1,5 @@
- import json
-+import multiprocessing
- import os
- import shutil
- import signal
-@@ -1597,7 +1598,9 @@ def tearDown(self):
- @slow
- def test_immediate_shutdown(self):
- """Heroku work horse shutdown with immediate (0 second) kill"""
-- p = Process(target=run_dummy_heroku_worker, args=(self.sandbox, 0, self.connection))
-+ # Use 'fork' context to avoid pickling issues with Redis connections in Python 3.14+
-+ ForkProcess = multiprocessing.get_context('fork').Process
-+ p = ForkProcess(target=run_dummy_heroku_worker, args=(self.sandbox, 0, self.connection))
- p.start()
- time.sleep(0.5)
-
-@@ -1611,7 +1614,9 @@ def test_immediate_shutdown(self):
- @slow
- def test_1_sec_shutdown(self):
- """Heroku work horse shutdown with 1 second kill"""
-- p = Process(target=run_dummy_heroku_worker, args=(self.sandbox, 1, self.connection))
-+ # Use 'fork' context to avoid pickling issues with Redis connections in Python 3.14+
-+ ForkProcess = multiprocessing.get_context('fork').Process
-+ p = ForkProcess(target=run_dummy_heroku_worker, args=(self.sandbox, 1, self.connection))
- p.start()
- time.sleep(0.5)
-
-@@ -1627,7 +1632,9 @@ def test_1_sec_shutdown(self):
- @slow
- def test_shutdown_double_sigrtmin(self):
- """Heroku work horse shutdown with long delay but SIGRTMIN sent twice"""
-- p = Process(target=run_dummy_heroku_worker, args=(self.sandbox, 10, self.connection))
-+ # Use 'fork' context to avoid pickling issues with Redis connections in Python 3.14+
-+ ForkProcess = multiprocessing.get_context('fork').Process
-+ p = ForkProcess(target=run_dummy_heroku_worker, args=(self.sandbox, 10, self.connection))
- p.start()
- time.sleep(0.5)
-
diff --git a/python-rq.spec b/python-rq.spec
index 0709400..7f157d0 100644
--- a/python-rq.spec
+++ b/python-rq.spec
@@ -1,9 +1,8 @@
%global srcname rq
-%bcond_without tests
Name: python-%{srcname}
-Version: 2.6.1
-Release: 3%{?dist}
+Version: 2.11
+Release: 1%{?dist}
Summary: Simple, lightweight, library for creating background jobs, and processing them
License: BSD-2-Clause
@@ -11,18 +10,21 @@ URL: https://python-rq.org
Source: https://github.com/rq/rq/archive/v%{version}/%{srcname}-%{version}.tar.gz
# Backport upstream fixes for python3.14 multiprocessing
-Patch: https://github.com/rq/rq/pull/2359.patch
-Patch: https://github.com/rq/rq/commit/df29cf6.patch
-Patch: https://github.com/rq/rq/commit/615525b.patch
+#Patch: https://github.com/rq/rq/pull/2359.patch
+#Patch: https://github.com/rq/rq/commit/df29cf6.patch
+#Patch: https://github.com/rq/rq/commit/615525b.patch
BuildArch: noarch
BuildRequires: python3-devel
-%if %{with tests}
+BuildRequires: python3dist(croniter)
+
BuildRequires: python3-pytest
BuildRequires: python3-psutil
BuildRequires: redis
-%endif
+# python3-sentry-sdk in Fedora 41 is old and is blocked:
+# https://bugzilla.redhat.com/show_bug.cgi?id=2291914
+BuildRequires: python3dist(sentry-sdk)
%global _description %{expand:
RQ (Redis Queue) is a simple Python library for queueing jobs
@@ -52,7 +54,6 @@ Python 3 version.
%pyproject_save_files %{srcname}
%check
-%if %{with tests}
%{_bindir}/redis-server --bind 127.0.0.1 --port 6379 &
REDIS_SERVER_PID=$!
# Set the default timezone to UTC otherwise unit tests fail.
@@ -61,7 +62,6 @@ export TZ=UTC
%{_bindir}/redis-cli shutdown nosave force now
# Wait for redis-server termination (the command above is async)
wait $REDIS_SERVER_PID
-%endif
%files -n python3-%{srcname} -f %pyproject_files
%license LICENSE
diff --git a/sources b/sources
index dca3968..89efec3 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (rq-2.6.1.tar.gz) = d60955a4ef0e1e67590053a737c5f1ccf35c92574f8e5bab02644ca76cea5c46f959631aefad5009ebb0a6b59eb58eeabbd46d88ff6bede6619647442e82b835
+SHA512 (rq-2.11.tar.gz) = 45e25e28d5e82e0a7faa71dbb912dae8b514d93bf39296ef23a803e799afc51ac4afeb06fc056cd1e4776b33ec7e71bb9ab9b614c9375d65539330caf8d52ffa
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-17 16:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-17 16:53 [rpms/python-rq] rawhide: update to 2.11 Paul Wouters
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox