Change history for Celery 2.5
If you’re looking for versions prior to 2.5 you should visit our History of releases.
This is a dummy release performed for the following goals:
- Protect against force upgrading to Kombu 2.2.0
- Version parity with django-celery
- A bug causes messages to be sent with UTC timestamps even though CELERY_ENABLE_UTC was not enabled (Issue #636).
- celerybeat: No longer crashes if an entry’s args is set to None (Issue #657).
- Autoreload did not work if a module’s __file__ attribute was set to the modules ‘.pyc’ file. (Issue #647).
- Fixes early 2.5 compatibility where __package__ does not exist (Issue #638).
Now depends on Kombu 2.1.5.
Django documentation has been moved to the main Celery docs.
New signal can be used to configure workers by hostname.
Signal.connect can now be used as a decorator.
Example:
Invalid task messages are now rejected instead of acked.
This means that they will be moved to the dead-letter queue introduced in the latest RabbitMQ version (but must be enabled manually, consult the RabbitMQ documentation).
Internal logging calls has been cleaned up to work better with tools like Sentry.
Contributed by David Cramer.
Programs now verifies that the pidfile is actually written correctly (Issue #641).
Hopefully this will crash the worker immediately if the system is out of space to store the complete pidfile.
In addition, we now verify that existing pidfiles contain a new line so that a partially written pidfile is detected as broken, as before doing:
echo -n “1” > celeryd.pid
would cause the worker to think that an existing instance was already running (init has pid 1 after all).
Fixed 2.5 compatibility issue with use of print_exception.
Fix contributed by Martin Melin.
Fixed 2.5 compatibility issue with imports.
All programs now fix up __package__ when called as main.
Fix contributed by Martin Melin.
[celery control|inspect] can now be configured on the command-line.
Like with the worker it is now possible to configure celery settings on the command-line for celery control|inspect
Version dependency for python-dateutil fixed to be strict.
Fix contributed by Thomas Meson.
Task.__call__ is now optimized away in the task tracer rather than when the task class is created.
Autoreload’s inotify support has been improved.
Contributed by Mher Movsisyan.
The Django broker documentation has been improved.
Removed confusing warning at top of routing user guide.
- Eventlet/Gevent: A small typo caused the worker to hang when eventlet/gevent was used, this was because the environment was not monkey patched early enough.
- Eventlet/Gevent: Another small typo caused the mediator to be started with eventlet/gevent, which would make the worker sometimes hang at shutdown.
- Mulitprocessing: Fixed an error occurring if the pool was stopped before it was properly started.
- Proxy objects now redirects __doc__ and __name__ so help(obj) works.
- celery shell: can now be started with --eventlet or --gevent options to apply their monkey patches.
Bugfix releases will still be found in the changelog.