- Now depends on kombu 2.2.5
- inspect now supports limit argument::
myapp.control.inspect(limit=1).ping()
- Beat: now works with timezone aware datetime's.
- Task classes inheriting from celery import Task
mistakingly enabled accept_magic_kwargs.
- Fixed bug in inspect scheduled (Issue #829).
- Beat: Now resets the schedule to upgrade to UTC.
- The celery worker command now works with eventlet/gevent.
Previously it would not patch the environment early enough.
- The celery command now supports extension commands
using setuptools entry-points.
Libraries can add additional commands to the celery
command by adding an entry-point like::
setup(
entry_points=[
'celery.commands': [
'foo = my.module:Command',
],
],
...)
The command must then support the interface of
celery.bin.base.Command.
- contrib.migrate: New utilities to move tasks from one queue to another.
- celery.contrib.migrate.move_tasks
- celery.contrib.migrate.move_task_by_id
- The task-sent event now contains exchange and routing_key
fields.
- Fixes bug with installing on Python 3.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=61
- A new and improved API, that is both simpler and more powerful.
- The worker is now thread-less, giving great performance improvements.
- The new “Canvas” makes it easy to define complex workflows.
- All of Celery’s command line programs are now available from a
single celery umbrella command.
- This is the last version to support Python 2.5.
- Support for the new librabbitmq C client.
- Redis support is more reliable with improved ack emulation.
- Celery now always uses UTC
- Over 600 commits, 30k additions/36k deletions.
- Please read documentation for full list of changes:
http://docs.celeryproject.org/en/latest/whatsnew-3.0.html#whatsnew-3-0
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=60
* 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).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=54
* Eventlet/Gevent: A small typo caused celeryd 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 celeryd 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.
* Internal timer (timer2) now logs exceptions instead of swallowing them
* celeryctl shell: can now be started with --eventlet or
--gevent options to apply their monkey patches.
- Suggest python-eventlet, python-gevent, python-pymongo, python-pytyrant
- Recommend python-curses, python-pyOpenSSL
- Run testsuite
- Changes file cleanup
- Processes pool: Fixed rare deadlock at shutdown
- Webhook tasks issued the wrong HTTP POST headers
Django and virtualenv together
file directories
* Fixes module import typo in celeryctl
couldn't be written
* Fixed deadlock in worker process handling
* Eventlet: Fixed problem with shutdown
more flexible approach
* CELERY_IMPORTS can now be a scalar value
* Fixed a memory leak when using the thread pool
* Adds EMAIL_USE_TLS to enable secure SMTP connections
where task info would be removed while iterating over it
the CELERY_RESULT_SERIALIZER setting
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=48
* Eventlet/Gevent: A small typo caused celeryd 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 celeryd 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.
* Internal timer (timer2) now logs exceptions instead of swallowing them
(Issue #626).
* celeryctl shell: can now be started with --eventlet or
--gevent options to apply their monkey patches.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=47
- Periodic task interval schedules were accidentally rounded down,
resulting in some periodic tasks being executed early.
- Logging of humanized times in the celerybeat log is now more detailed.
- New brokers section in the Getting Started part of the Documentation
This replaces the old tut-otherqueues tutorial, and adds
documentation for MongoDB, Beanstalk and CouchDB.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=44
- [Security: CELERYSA-0001] Daemons would set effective id’s
rather than real id’s when the --uid/--gid arguments to
celeryd-multi, celeryd_detach, celerybeat and celeryev were used.
This means privileges weren’t properly dropped, and that it
would be possible to regain supervisor privileges later.
- Processes pool: Fixed rare deadlock at shutdown (Issue #523).
- Webhook tasks issued the wrong HTTP POST headers (Issue #515).
The Content-Type header has been changed from
application/json ⇒ application/x-www-form-urlencoded, and adds
a proper Content-Length header.
- Daemonization cookbook: Adds a configuration example using
Django and virtualenv together (Issue #505).
- Generic init scripts now automatically creates log and pid
file directories (Issue #545).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=43
* celeryctl inspect commands was missing output.
* processes pool: Decrease polling interval for less idle CPU usage.
* processes pool: MaybeEncodingError was not wrapped in ExceptionInfo
(Issue #524).
* celeryd: would silence errors occuring after task consumer started.
* logging: Fixed a bug where unicode in stdout redirected log messages
couldn't be written (Issue #522).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=40
* Now supports Python 3.
* Fixed deadlock in worker process handling (Issue #496).
* AMQP Result backend: Now expires results by default.
* Eventlet: Fixed problem with shutdown (Issue #457).
* Broker transports can be now be specified using URLs
* The deprecated celery.loaders.setup_loader() function has been
removed.
* The CELERY_TASK_ERROR_WHITELIST setting has been replaced by a
more flexible approach (Issue #447).
* There are additional deprecations.
* No longer depends on pyparsing.
* Now depends on Kombu 1.4.3.
* CELERY_IMPORTS can now be a scalar value (Issue #485).
* Fixed a memory leak when using the thread pool (Issue #486).
* The statedb was not saved at exit.
* Adds EMAIL_USE_TLS to enable secure SMTP connections (Issue #418).
* Now handles missing fields in task messages as documented in the
message format documentation.
* Fixed race condition in celery.events.state (celerymon/celeryev)
where task info would be removed while iterating over it (Issue #501).
* The Cache, Cassandra, MongoDB, Redis and Tyrant backends now respects
the CELERY_RESULT_SERIALIZER setting (Issue #435).
* Logging calls no longer manually formats messages, but delegates that
to the logging system, so tools like Sentry can easier work with the
messages (Issue #445).
* celeryd_multi now supports a stop_verify command to wait for
processes to shutdown.
* Cache backend did not work if the cache key was unicode (Issue #504).
* New setting CELERY_RESULT_DB_SHORT_LIVED_SESSIONS added, which if
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=39
* Improved Contributing guide.
* Now depends on Kombu 1.3.1.
* Task.request now contains the current worker host name
(Issue #460).
* It is now easier for app subclasses to extend how they are
pickled.
* purge/discard_all was not working correctly (Issue #455).
* he coloring of log messages didn’t handle non-ASCII data well
(Issue #427).
* [Windows] the multiprocessing pool tried to import os.kill even
though this is not available there (Issue #450).
* Fixes case where the worker could become unresponsive because of
tasks exceeding the hard time limit.
* The task-sent event was missing from the event reference.
* ResultSet.iterate now returns results as they finish (Issue #459).
* Retries will no longer be performed when tasks are called directly
(using __call__).
* Eventlet no longer crashes if autoscale is enabled.
* py24 target removed from tox.ini.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=36
* New signals: `after_setup_logger` and `after_setup_task_logger`
These signals can be used to augment logging configuration
after Celery has set up logging.
* Redis result backend now works with Redis 2.4.4.
* celeryd_multi: The :option:`--gid` option now works correctly.
* celeryd: Retry wrongfully used the repr of the traceback instead
of the string representation.
* App.config_from_object: Now loads module, not attribute of module.
* Fixed issue where logging of objects would give "<Unrepresentable: ...>"
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=32
* celeryd: 2.2.3 broke error logging, resulting in tracebacks not being logged.
* AMQP result backend: Polling task states did not work properly if there were
more than one result message in the queue.
* TaskSet.apply_async() and TaskSet.apply() now supports an optional
taskset_id keyword argument (Issue #331).
* The current taskset id (if any) is now available in the task context as
request.context (Issue #329).
* SQLAlchemy result backend: `date_done` was no longer part of the results as it had
been accidentally removed. It is now available again (Issue #325).
* SQLAlchemy result backend: Added unique constraint on `Task.task_id` and
`TaskSet.taskset_id`. Tables needs to be recreated for this to take effect.
* Fixed exception raised when iterating on the result of TaskSet.apply().
* Tasks Userguide: Added section on choosing a result backend.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=27
- Now depends on Kombu 1.0.3
- Task.retry now supports a max_retries argument, used to change
the default value.
- multiprocessing.cpu_count may raise NotImplementedError on
platforms where this is not supported (Issue #320).
- Coloring of log messages broke if the logged object was not a
string.
- Fixed several typos in the init script documentation.
- A regression caused Task.exchange and Task.routing_key to no
longer have any effect. This is now fixed.
- Routing Userguide: Fixes typo, routers in CELERY_ROUTES must be
instances, not classes.
- celeryev did not create pidfile even though the --pidfile
argument was set.
- Task logger format was no longer used. (Issue #317).
The id and name of the task is now part of the log message
again.
- A safe version of repr() is now used in strategic places to
ensure objects with a broken __repr__ does not crash the
worker, or otherwise make errors hard to understand (Issue #298).
- Remote control command active_queues: did not account for
queues added at runtime.
In addition the dictionary replied by this command now has a
different structure: the exchange key is now a dictionary
containing the exchange declaration in full.
- The -Q option to celeryd removed unused queue declarations, so
routing of tasks could fail.
Queues are no longer removed, but rather
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=25
* Celerybeat could not read the schedule properly, so entries in
:setting:`CELERYBEAT_SCHEDULE` would not be scheduled.
* Task error log message now includes `exc_info` again.
* The `eta` argument can now be used with `task.retry`.
Previously it was overwritten by the countdown argument.
* celeryd-multi/celeryd_detach: Now logs errors occuring when
executing the `celeryd` command.
* daemonizing cookbook: Fixed typo ``--time-limit 300`` ->
``--time-limit=300``
* Colors in logging broke non-string objects in log messages.
* ``setup_task_logger`` no longer makes assumptions about
magic task kwargs.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=24
* Eventlet pool was leaking memory (Issue #308).
* Deprecated function ``celery.execute.delay_task`` was
accidentally removed,
now available again.
* ``BasePool.on_terminate`` stub did not exist
* celeryd detach: Adds readable error messages if user/group
name does not exist.
* Smarter handling of unicode decod errors when logging errors.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=23
* Celery programs now hijacks the root logger by default (Issue #250).
* Execution options to `apply_async` now takes precedence over options
returned by active routers. This was a regression introduced recently
(Issue #244).
* `celeryev` curses monitor: Long arguments are now truncated so curses
doesn't crash with out of bounds errors. (Issue #235).
* `celeryd`: Channel errors occurring while handling control commands no
longer crash the worker but are instead logged with severity error.
* SQLAlchemy database backend: Fixed a race condition occurring when
the client wrote the pending state. Just like the Django database backend,
it does no longer save the pending state (Issue #261 + Issue #262).
* `task.apply`: `propagate=True` now raises exceptions from the original
frame, keeping the same stacktrace (Issue #256).
* Error email body now uses `repr(exception)` instead of `str(exception)`,
as the latter could result in Unicode decode errors (Issue #245).
* Error e-mail timeout value is now configurable by using the
:setting:`EMAIL_TIMEOUT` setting.
* `celeryev`: Now works on Windows (but the curses monitor won't work without
having curses).
* Unit test output no longer emits non-standard characters.
* `celeryd`: The broadcast consumer is now closed if the connection is reset.
* `celeryd`: Now properly handles errors occurring while trying to acknowledge
the message.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=21