forked from pool/python-celery
- Update to 5.6.2:
* Fix recursive WorkController instantiation in DjangoWorkerFixup +
AttributeError when pool_cls is a string
* Bugfix: Revoked tasks now immediately update backend status to REVOKED
* Fix Redis Sentinel ACL authentication support
* Fix: Broker heartbeats not sent during graceful shutdown
* close DB pools only in prefork mode
* Fix: Avoid unnecessary Django database connection creation during cleanup
* reliable prefork detection
* Stop importing pytest_subtests
* Only use exceptiongroup backport for Python < 3.11
* Drop support for Python 3.8 (EOL).
* Fixed a security issue where broker URLs containing passwords were
* being logged in plaintext by the delayed delivery mechanism. Broker
* credentials are now properly sanitized in all log output.
* New configuration options allow specifying the queue type and exchange
* type when Celery auto-creates missing queues.
* asynpool: Don't return from inside a finally block
* Add support for Django Connection pool
* fix(worker): continue to attempt to bind other queues after a native
delayed delivery binding failure has occurred
* Handle UnpicklingError in persistent scheduler initialization
* Bug Fix: Nested Chords Fail When Using django-celery-results with a Redis
Backend
* Add support pymongo 4.12
* Feature: Add support credential_provider to Redis Backend
* Celery.timezone: try tzlocal.get_localzone() before using LocalTimezone
* Add documentation for task_id param for apply_async function
* Support redis client name
* fix: restrict disable-prefetch feature to Redis brokers only
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=174
This commit is contained in:
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.osc
|
||||
3
_multibuild
Normal file
3
_multibuild
Normal file
@@ -0,0 +1,3 @@
|
||||
<multibuild>
|
||||
<package>test</package>
|
||||
</multibuild>
|
||||
3
celery-5.5.3.tar.gz
Normal file
3
celery-5.5.3.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6c972ae7968c2b5281227f01c3a3f984037d21c5129d07bf3550cc2afc6b10a5
|
||||
size 1667144
|
||||
3
celery-5.6.2.tar.gz
Normal file
3
celery-5.6.2.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4a8921c3fcf2ad76317d3b29020772103581ed2454c4c042cc55dcc43585009b
|
||||
size 1718802
|
||||
42
move-pytest-configuration-to-conftest.patch
Normal file
42
move-pytest-configuration-to-conftest.patch
Normal file
@@ -0,0 +1,42 @@
|
||||
Index: celery-5.3.6/celery/contrib/pytest.py
|
||||
===================================================================
|
||||
--- celery-5.3.6.orig/celery/contrib/pytest.py
|
||||
+++ celery-5.3.6/celery/contrib/pytest.py
|
||||
@@ -19,16 +19,6 @@ NO_WORKER = os.environ.get('NO_WORKER')
|
||||
# Well, they're called fixtures....
|
||||
|
||||
|
||||
-def pytest_configure(config):
|
||||
- """Register additional pytest configuration."""
|
||||
- # add the pytest.mark.celery() marker registration to the pytest.ini [markers] section
|
||||
- # this prevents pytest 4.5 and newer from issuing a warning about an unknown marker
|
||||
- # and shows helpful marker documentation when running pytest --markers.
|
||||
- config.addinivalue_line(
|
||||
- "markers", "celery(**overrides): override celery configuration for a test case"
|
||||
- )
|
||||
-
|
||||
-
|
||||
@contextmanager
|
||||
def _create_app(enable_logging=False,
|
||||
use_trap=False,
|
||||
Index: celery-5.3.6/t/unit/conftest.py
|
||||
===================================================================
|
||||
--- celery-5.3.6.orig/t/unit/conftest.py
|
||||
+++ celery-5.3.6/t/unit/conftest.py
|
||||
@@ -56,6 +56,16 @@ class WhateverIO(io.StringIO):
|
||||
_SIO_write(self, data.decode() if isinstance(data, bytes) else data)
|
||||
|
||||
|
||||
+def pytest_configure(config):
|
||||
+ """Register additional pytest configuration."""
|
||||
+ # add the pytest.mark.celery() marker registration to the pytest.ini [markers] section
|
||||
+ # this prevents pytest 4.5 and newer from issueing a warning about an unknown marker
|
||||
+ # and shows helpful marker documentation when running pytest --markers.
|
||||
+ config.addinivalue_line(
|
||||
+ "markers", "celery(**overrides): override celery configuration for a test case"
|
||||
+ )
|
||||
+
|
||||
+
|
||||
@pytest.fixture(scope='session')
|
||||
def celery_config():
|
||||
return {
|
||||
2345
python-celery.changes
Normal file
2345
python-celery.changes
Normal file
File diff suppressed because it is too large
Load Diff
140
python-celery.spec
Normal file
140
python-celery.spec
Normal file
@@ -0,0 +1,140 @@
|
||||
#
|
||||
# spec file for package python-celery
|
||||
#
|
||||
# Copyright (c) 2026 SUSE LLC and contributors
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%global flavor @BUILD_FLAVOR@%{nil}
|
||||
%if "%{flavor}" == "test"
|
||||
%define psuffix -test
|
||||
%bcond_without test
|
||||
%else
|
||||
%define psuffix %{nil}
|
||||
%bcond_with test
|
||||
%endif
|
||||
%bcond_with ringdisabled
|
||||
%bcond_without libalternatives
|
||||
%{?sle15_python_module_pythons}
|
||||
Name: python-celery%{psuffix}
|
||||
Version: 5.6.2
|
||||
Release: 0
|
||||
Summary: Distributed Task Queue module for Python
|
||||
License: BSD-3-Clause
|
||||
URL: https://celeryproject.org
|
||||
Source: https://files.pythonhosted.org/packages/source/c/celery/celery-%{version}.tar.gz
|
||||
Patch0: move-pytest-configuration-to-conftest.patch
|
||||
BuildRequires: %{python_module base >= 3.9}
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: %{python_module wheel}
|
||||
BuildRequires: alts
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: netcfg
|
||||
BuildRequires: python-rpm-macros
|
||||
Requires: alts
|
||||
Requires: python-billiard >= 4.2.1
|
||||
Requires: python-click >= 8.1.2
|
||||
Requires: python-click-didyoumean >= 0.3.0
|
||||
Requires: python-click-plugins >= 1.1.1
|
||||
Requires: python-click-repl >= 0.2.0
|
||||
Requires: python-dbm
|
||||
Requires: python-kombu >= 5.6.0
|
||||
Requires: python-python-dateutil >= 2.8.2
|
||||
Requires: python-tzlocal
|
||||
Requires: python-vine >= 5.1.0
|
||||
Recommends: python-cryptography
|
||||
Recommends: python-curses
|
||||
Suggests: python-eventlet
|
||||
Suggests: python-gevent
|
||||
Suggests: python-pymongo
|
||||
BuildArch: noarch
|
||||
%if %{with test}
|
||||
BuildRequires: %{python_module PyYAML >= 3.10}
|
||||
BuildRequires: %{python_module SQLAlchemy}
|
||||
BuildRequires: %{python_module azure-storage-blob}
|
||||
BuildRequires: %{python_module boto3 >= 1.9.178}
|
||||
BuildRequires: %{python_module case >= 1.3.1}
|
||||
BuildRequires: %{python_module celery = %{version}}
|
||||
BuildRequires: %{python_module cryptography >= 36.0.2}
|
||||
BuildRequires: %{python_module curses}
|
||||
BuildRequires: %{python_module dbm}
|
||||
BuildRequires: %{python_module eventlet >= 0.32.0}
|
||||
BuildRequires: %{python_module gevent}
|
||||
BuildRequires: %{python_module google-cloud-core}
|
||||
BuildRequires: %{python_module google-cloud-firestore}
|
||||
BuildRequires: %{python_module google-cloud-storage}
|
||||
BuildRequires: %{python_module moto >= 2.2.6}
|
||||
BuildRequires: %{python_module msgpack}
|
||||
BuildRequires: %{python_module pydantic}
|
||||
BuildRequires: %{python_module pymongo >= 4.0.2}
|
||||
BuildRequires: %{python_module pytest >= 4.5.0}
|
||||
BuildRequires: %{python_module pytest-click}
|
||||
BuildRequires: %{python_module pytest-subtests if %python-pytest < 9}
|
||||
BuildRequires: %{python_module redis}
|
||||
%if %{with ringdisabled}
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%python_subpackages
|
||||
|
||||
%description
|
||||
Celery is an asynchronous task queue/job queue based on distributed
|
||||
message passing. It is focused on real-time operation, but supports
|
||||
scheduling as well.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n celery-%{version}
|
||||
|
||||
%build
|
||||
%if !%{with test}
|
||||
%pyproject_wheel
|
||||
%endif
|
||||
|
||||
%install
|
||||
%if !%{with test}
|
||||
%pyproject_install
|
||||
%python_clone -a %{buildroot}%{_bindir}/celery
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
%endif
|
||||
|
||||
%check
|
||||
%if %{with test}
|
||||
# test_check_privileges_no_fchown - first it deletes fchown from the system, so it needs root privileges, and then it runs the worker and complains about root privileges
|
||||
# test_init_mongodb_dnspython2_pymongo4_seedlist - pymongo.errors.ConfigurationError: cannot open /etc/resolv.conf
|
||||
|
||||
# Temporary, remove
|
||||
# test_aaa_eventlet_patch::test_aaa_blockdetecet - AssertionError: expected call not found.
|
||||
# test_AsynPool::test_gen_not_started
|
||||
|
||||
# Fails if the system timezone is UTC
|
||||
# test_uses_utc_timezone
|
||||
|
||||
%pytest -k "not test_check_privileges_no_fchown and not test_aaa_blockdetecet and not test_gen_not_started and not test_init_mongodb_dnspython2_pymongo4_seedlist and not test_uses_utc_timezone"
|
||||
|
||||
%endif
|
||||
|
||||
%if !%{with test}
|
||||
%pre
|
||||
%python_libalternatives_reset_alternative celery
|
||||
|
||||
%files %{python_files}
|
||||
%{python_sitelib}/celery
|
||||
%{python_sitelib}/celery-%{version}.dist-info
|
||||
%license LICENSE
|
||||
%doc README.rst TODO
|
||||
%python_alternative %{_bindir}/celery
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
Reference in New Issue
Block a user