* Thu Feb 21 2019 John Vandenberg <jayvdb@gmail.com>
- Replace no-async.patch with three Python 3.7 patches merged upstream
python37-1.patch, python37-2.patch & python37-3.patch
- Replace sed invocation with unpin-pytest.patch for clarity
* Thu Feb 21 2019 John Vandenberg <jayvdb@gmail.com>
- Add missing dependency on pytz, needed by celery.utils
- Remove unused build dependency on cl
* Fri Feb 15 2019 John Vandenberg <jayvdb@gmail.com>
- Add relax-billiard-pin.patch to allow billiard 3.6.0.0
* Thu Jan 31 2019 mcepl@suse.com
- Add no-async.patch renaming async package to async_tools to
make package 3.7 compatible.
* Thu Dec 06 2018 Tomá? Chvátal <tchvatal@suse.com>
- Fix fdupes call
* Tue Dec 04 2018 Matej Cepl <mcepl@suse.com>
- Remove superfluous devel dependency for noarch package
* Thu Aug 16 2018 tchvatal@suse.com
- Update to 4.2.1:
* Fix to build with newest kombu
* Many bugfixes around
- Add patch to skip test that should not be run:
* celery-no-redis.patch
* Wed May 02 2018 tchvatal@suse.com
- Add patch to fix testrun with new pytest:
* disable-pytest-log-capturing.patch
* Thu Nov 30 2017 tchvatal@suse.com
- Add missing runtime deps (mostly same as build time ones...)
* Sat Sep 30 2017 arun@gmx.de
- update to version 4.1.0:
* Configuration: CELERY_SEND_EVENTS instead of CELERYD_SEND_EVENTS
for 3.1.x compatibility (#3997)
* App: Restore behavior so Broadcast queues work. (#3934)
* Sphinx: Make appstr use standard format (#4134) (#4139)
* App: Make id, name always accessible from logging.Formatter via
extra (#3994)
* Worker: Add worker_shutting_down signal (#3998)
* PyPy: Support PyPy version 5.8.0 (#4128)
* Results: Elasticsearch: Fix serializing keys (#3924)
* Canvas: Deserialize all tasks in a chain (#4015)
* Systemd: Recover loglevel for ExecStart in systemd config (#4023)
* Sphinx: Use the Sphinx add_directive_to_domain API. (#4037)
* App: Pass properties to before_task_publish signal (#4035)
* Results: Add SSL option for Redis backends (#3831)
* Beat: celery.schedule.crontab: fix reduce (#3826) (#3827)
* State: Fix celery issues when using flower REST API
* Results: Elasticsearch: Fix serializing document id.
* Beat: Make shallow copy of schedules dictionary
* Beat: Populate heap when periodic tasks are changed
* Task: Allow class methods to define tasks (#3952)
* Platforms: Always return boolean value when checking if signal is
supported (#3962).
* Canvas: Avoid duplicating chains in chords (#3779)
* Canvas: Lookup task only if list has items (#3847)
* Results: Allow unicode message for exception raised in task
(#3903)
* Python3: Support for Python 3.6 (#3904, #3903, #3736)
* App: Fix retried tasks with expirations (#3790)
* * Fixes items format route in docs (#3875)
* Utils: Fix maybe_make_aware (#3850)
* Task: Fix task ETA issues when timezone is defined in
configuration (#3867)
* Concurrency: Consumer does not shutdown properly when embedded in
gevent application (#3746)
* Canvas: Fix #3725: Task replaced with group does not complete
(#3731)
* Task: Correct order in chains with replaced tasks (#3730)
* Result: Enable synchronous execution of sub-tasks (#3696)
* Task: Fix request context for blocking task apply (added hostname)
(#3716)
* Utils: Fix task argument handling (#3678) (#3693)
* Beat: Provide a transparent method to update the Scheduler heap
(#3721)
* Beat: Specify default value for pidfile option of celery
beat. (#3722)
* Results: Elasticsearch: Stop generating a new field every time
when a new result is being put (#3708)
* Requirements
+ Now depends on :ref:`Kombu 4.1.0 <kombu:version-4.1.0>`.
* Results: Elasticsearch now reuses fields when new results are
added.
* Results: Fixed MongoDB integration when using binary encodings
(Issue #3575).
* Worker: Making missing "*args" and "kwargs" in Task protocol 1
return empty value in protocol 2 (Issue #3687).
* App: Fixed :exc:`TypeError` in AMQP when using deprecated signal
(Issue #3707).
* Beat: Added a transparent method to update the scheduler heap.
* Task: Fixed handling of tasks with keyword arguments on Python 3
(Issue #3657).
* Task: Fixed request context for blocking task apply by adding
missing hostname attribute.
* Task: Added option to run subtasks synchronously with
"disable_sync_subtasks" argument.
* App: Fixed chaining of replaced tasks (Issue #3726).
* Canvas: Fixed bug where replaced tasks with groups were not
completing (Issue #3725).
* Worker: Fixed problem where consumer does not shutdown properly
when embedded in a gevent application (Issue #3745).
* Results: Added support for using AWS DynamoDB as a result backend
(#3736).
* Testing: Added caching on pip installs.
* Worker: Prevent consuming queue before ready on startup (Issue
[#3620]).
* App: Fixed task ETA issues when timezone is defined in
configuration (Issue #3753).
* Utils: "maybe_make_aware" should not modify datetime when it is
already timezone-aware (Issue #3849).
* App: Fixed retrying tasks with expirations (Issue #3734).
* Results: Allow unicode message for exceptions raised in task
(Issue #3858).
* Canvas: Fixed :exc:`IndexError` raised when chord has an empty
header.
* Canvas: Avoid duplicating chains in chords (Issue #3771).
* Utils: Allow class methods to define tasks (Issue #3863).
* Beat: Populate heap when periodic tasks are changed.
* Results: Added support for Elasticsearch backend options settings.
* Events: Ensure "Task.as_dict()" works when not all information
about task is available.
* Schedules: Fixed pickled crontab schedules to restore properly
(Issue #3826).
* Results: Added SSL option for redis backends (Issue #3830).
* Documentation and examples improvements
* Thu Aug 24 2017 jmatejek@suse.com
- singlespec auto-conversion
* Mon Jul 10 2017 jengelh@inai.de
- Drop redundant wording from description.
* Tue Jun 27 2017 benoit.monin@gmx.fr
- update to version 4.0.2:
* Requirements: Now depends on Kombu 4.0.2.
* Tasks: Fixed problem with JSON serialization of group (``keys
must be string`` error, Issue #3688).
* Worker: Fixed JSON serialization issue when using inspect
active and friends (Issue #3667).
* App: Fixed saferef errors when using signals (Issue #3670).
* Prefork: Fixed bug with pack requiring bytes argument on Python
2.7.5 and earlier (Issue #3674).
* Tasks: Saferepr did not handle unicode in bytestrings on Python
2 (Issue #3676).
* Testing: Added new celery_worker_paremeters fixture.
* Tasks: Added new app argument to GroupResult.restore
(Issue #3669).
* Tasks: Fixed type checking crash when task takes *args on
Python 3 (Issue #3678).
* Documentation and examples improvements
- additional changes from version 4.0.1:
* [Security: CELERYSA-0003] Fix Insecure default configuration
* Tasks: Added new method to register class-based tasks
(Issue #3615).
* Tasks: Argument checking now supports keyword-only arguments on
Python3 (Issue #3658).
* Tasks: The task-sent event was not being sent even if
configured to do so (Issue #3646).
* Worker: Fixed AMQP heartbeat support for eventlet/gevent pools
(Issue #3649).
* App: app.conf.humanize() would not work if configuration not
finalized (Issue #3652).
* Utils: saferepr attempted to show iterables as lists and
mappings as dicts.
* Utils: saferepr did not handle unicode-errors when attempting
to format bytes on Python 3 (Issue #3610).
* Utils: saferepr should now properly represent byte strings with
non-ascii characters (Issue #3600).
* Results: Fixed bug in elasticsearch where _index method missed
the body argument (Issue #3606).
* Canvas: Fixed ValueError in chord with single task header
(Issue #3608).
* Task: Ensure class-based task has name prior to registration
(Issue #3616).
* Beat: Fixed problem with strings in shelve (Issue #3644).
* Worker: Fixed KeyError in inspect stats when -O argument set to
something other than fast or fair (Issue #3621).
* Task: Retried tasks were no longer sent to the original queue
(Issue #3622).
* Worker: Python 3: Fixed None/int type comparison in
apps/worker.py (Issue #3631).
* Results: Redis has a new redis_socket_connect_timeout setting.
* Results: Redis result backend passed the socket_connect_timeout
argument to UNIX socket based connections by mistake, causing a
crash.
* Worker: Fixed missing logo in worker splash screen when running
on Python 3.x (Issue #3627).
* Deps: Fixed celery[redis] bundle installation (Issue #3643).
* Deps: Bundle celery[sqs] now also requires pycurl
(Issue #3619).
* Worker: Hard time limits were no longer being respected
(Issue #3618).
* Worker: Soft time limit log showed Trues instead of the number
of seconds.
* App: registry_cls argument no longer had any effect
(Issue #3613).
* Worker: Event producer now uses connection_for_Write
(Issue #3525).
* Results: Redis/memcache backends now uses result_expires to
expire chord counter (Issue #3573).
* Django: Fixed command for upgrading settings with Django
(Issue #3563).
* Testing: Added a celery_parameters test fixture to be able to
use customized Celery init parameters. (#3626)
* Documentation improvements
- additional changes from version 4.0:
see http://docs.celeryproject.org/en/latest/whatsnew-4.0.html
- change source url to pythonhosted.org
- update the BuildRequires for test:
* remove mock, nose and unittest2
* add case, pytest and netcfg
- remove specfile reference to openSUSE 11.1 / SLE11
- update kombu and billiard required versions
- remove anyjson Requires, not needed anymore
- call fdupes to fix duplicate files
* Wed Jan 13 2016 antoine.belvire@laposte.net
- Update to 3.1.19:
* Requirements: Now depends on Kombu 3.0.29.
* Requirements: Now depends on billiard 3.3.0.21.
* Results: Fixed MongoDB result backend URL parsing problem
(Issue celery/kombu#375).
* Worker: Task request now properly sets priority in
delivery_info.
* Beat: PyPy shelve may raise KeyError when setting keys (Issue
[#2862]).
* Programs: celery beat --deatched now working on PyPy.
* Results: Redis result backend now ensures all pipelines are
cleaned up.
* Results: Redis result backend now allows for timeout to be set
in the query portion of the result backend URL.
* Results: result.get now properly handles failures where the
exception value is set to None (Issue #2560).
* Prefork pool: Fixed attribute error proc.dead.
* Worker: Fixed worker hanging when gossip/heartbeat disabled
(Issue #1847).
* Results: MongoDB result backend now supports pymongo 3.x (Issue
[#2744]).
* Results: RPC/amqp backends did not deserialize exceptions
properly (Issue #2691).
* Programs: Fixed problem with celery amqp?s basic_publish (Issue
[#2013]).
* Worker: Embedded beat now properly sets app for thread/process
(Issue #2594).
* Documentation: Many improvements and typos fixed.
* Wed Apr 29 2015 benoit.monin@gmx.fr
- update to version 3.1.18:
* Requirements: Now depends on Kombu 3.0.25.
* Requirements: Now depends on billiard 3.3.0.20.
* Django: Now supports Django 1.8 (Issue #2536).
* Results: MongoDB result backend now compatible with pymongo 3.0
* Tasks: Fixed bug only happening when a task has multiple
callbacks (Issue #2515).
* Commands: Preload options now support --arg value syntax.
* Compat: A typo caused celery.log.setup_logging_subsystem to be
undefined.
* init scripts: The celerybeat generic init script now uses
/bin/sh instead of bash (Issue #2496).
* Django: Fixed a :exc:`TypeError` sometimes occurring in logging
when validating models.
* Commands: Worker now supports new --executable argument that
can be used with --detach.
* Canvas: Fixed crash in chord unlock fallback task (Issue #2404)
* Worker: Fixed rare crash occurring with --autoscale enabled
(Issue #2411).
* Django: Properly recycle worker Django database connections
when the Django CONN_MAX_AGE setting is enabled (Issue #2453).
- additional changes from version 3.1.17:
* Admonition: Do not enable the CELERYD_FORCE_EXECV setting!
* Requirements: Now depends on Kombu 3.0.24.
* Requirements: Now depends on billiard 3.3.0.19.
* Requirements: celery[librabbitmq] now depends on librabbitmq
1.6.1.
* Task: The timing of ETA/countdown tasks were off after the
example LocalTimezone implementation in the Python
documentation no longer works in Python 3.4. (Issue #2306).
* Task: Raising celery.exceptions.Ignore no longer sends
task-failed event (Issue #2365).
* Redis result backend: Fixed unbound local errors.
* Task: Callbacks was not called properly if link was a list of
signatures (Issuse #2350).
* Canvas: chain and group now handles json serialized signatures
(Issue #2076).
* Results: .join_native() would accidentally treat the STARTED
state as being ready (Issue #2326).
* Canvas: The chord_size attribute is now set for all canvas
primitives, making sure more combinations will work with the
new_join optimization for Redis (Issue #2339).
* Task: Fixed problem with app not being properly propagated to
trace_task in all cases.
* Worker: Expires from task message now associated with a
timezone.
* Cassandra result backend: Fixed problems when using detailed
mode.
* Mongodb Result backend: Pickling the backend instance will now
include the original url (Issue #2347).
* Task: Exception info was not properly set for tasks raising
celery.exceptions.Reject (Issue #2043).
* Worker: Duplicates are now removed when loading the set of
revoked tasks from the worker state database (Issue #2336).
* celery.contrib.rdb: Fixed problems with rdb.set_trace calling
stop from the wrong frame.
* Canvas: chain and chord can now be immutable.
* Canvas: chord.apply_async will now keep partial args set in
self.args (Issue #2299).
* Results: Small refactoring so that results are decoded the same
way in all result backends.
* Logging: The processName format was introduced in Py2.6.2 so
for compatibility this format is now excluded when using
earlier versions (Issue #1644).
- increase required version of python-kombu to 3.0.25
- increase required version of python-billiard to 3.3.0.20
- reenable the tests, expect for SLE11. And add -q to avoid
spamming the build log
- add the license to package documentation
* Wed Nov 12 2014 oliver.bengs@opensuse.org
- Update to version 3.1.16
+ Worker: 3.1.15 broke -Ofair behavior (Issue #2286).
+ Canvas: celery.signature now properly forwards app argument in all cases.
+ Task: .retry() did not raise the exception correctly when called without a current exception.
+ Worker: The enable_events remote control command disabled worker-related events by mistake (Issue #2272).
+ Django: Adds support for Django 1.7 class names in INSTALLED_APPS when using app.autodiscover_tasks() (Issue #2248).
+ Redis/Cache Backends: Chords will now run at most once if one or more tasks in the chord are executed multiple times for some reason.
* Sun Dec 01 2013 oliver.bengs@opensuse.org
- Update to version 3.1.1
+ Now depends Kombu 3.0.6
+ Now depends on billiard 3.3.0.8
+ App: ``config_from_object`` is now lazy
+ App: ``autodiscover_tasks`` is now lazy
Django users should now wrap access to the settings object in
a lambda:
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
this ensures that the settings object is not prepared
prematurely
+ Fixed regression for ``--app`` argument experienced by
some users
+ Worker: Now respects the ``--uid`` and ``--gid`` arguments
even if ``--detach`` is not enabled
+ Beat: Now respects the ``--uid`` and ``--gid`` arguments
even if ``--detach`` is not enabled
+ Python 3: Fixed unorderable error occuring with the worker ``-B``
argument enabled
+ ``celery.VERSION`` is now a named tuple
+ ``maybe_signature(list)`` is now applied recursively
+ ``celery shell`` command: Fixed ``IPython.frontend`` deprecation warning
+ The default app no longer includes the builtin fixups
This fixes a bug where ``celery multi`` would attempt
to load the Django settings module before entering
the target working directory
+ The Django daemonization tutorial was changed
Users no longer have to explicitly export ``DJANGO_SETTINGS_MODULE``
in :file:`/etc/default/celeryd` when the new project layout is used
+ Redis result backend: expiry value can now be 0
+ Censoring settings now accounts for non-string keys
+ App: New ``autofinalize`` option
Apps are automatically finalized when the task registry is accessed.
You can now disable this behavior so that an exception is raised
instead.
+ The worker did not send monitoring events during shutdown
+ Worker: Mingle and gossip is now automatically disabled when
used with an unsupported transport
+ ``celery`` command: Preload options now supports
the rare ``--opt value`` format
+ ``celery`` command: Accidentally removed options
appearing before the subcommand, these are now moved to the end
instead
+ Worker now properly responds to ``inspect stats`` commands
even if received before startup is complete
+ :signal:`task_postrun` is now sent within a finally block, to make
sure the signal is always sent
+ Beat: Fixed syntax error in string formatting
+ Fixed typos in the documentation
+ Nested chains now works properly when constructed using the
``chain`` type instead of the ``|`` operator
* Thu Oct 24 2013 speilicke@suse.com
- Require python-setuptools instead of distribute (upstreams merged)
* Wed Sep 25 2013 p.drouand@gmail.com
- Update to version 3.0.23
+ Now depends on :ref:`Kombu 2.5.14 <kombu:version-2.5.14>`.
+ ``send_task`` did not honor ``link`` and ``link_error`` arguments.
This had the side effect of chains not calling unregistered tasks,
silently discarding them.
+ :mod:`celery.state`: Optimized precedence lookup.
+ Posix: Daemonization did not redirect ``sys.stdin`` to ``/dev/null``.
+ Canvas: group bug caused fallback to default app when ``.apply_async`` used
(Issue #1516)
+ Canvas: generator arguments was not always pickleable
- Use source url as source
* Tue Apr 30 2013 alexandre@exatati.com.br
- Update to 3.0.19:
- Now depends on billiard 2.7.3.28
- A Python 3 related fix managed to disable the deadlock fix
announced in 3.0.18.
Tests have been added to make sure this does not happen again.
- Task retry policy: Default max_retries is now 3.
This ensures clients will not be hanging while the broker is down.
You can set a longer retry for the worker by
using the celeryd_after_setup signal:
from celery.signals import celeryd_after_setup
@celeryd_after_setup.connect
def configure_worker(instance, conf, **kwargs):
conf.CELERY_TASK_PUBLISH_RETRY_POLICY = {
'max_retries': 100,
'interval_start': 0,
'interval_max': 1,
'interval_step': 0.2,
}
- Worker: Will now properly display message body in error messages
even if the body is a buffer instance.
- 3.0.18 broke the MongoDB result backend (Issue #1303).