|
@@ -125,7 +125,7 @@ Fixes
|
|
|
|
|
|
* snapshots: Fixed race condition leading to loss of events.
|
|
|
|
|
|
-* celeryd: Reject tasks with an eta that cannot be converted to timestamp.
|
|
|
+* celeryd: Reject tasks with an eta that cannot be converted to a time stamp.
|
|
|
|
|
|
See issue #209
|
|
|
|
|
@@ -142,7 +142,7 @@ Fixes
|
|
|
* control command ``dump_scheduled``: was using old .info attribute
|
|
|
|
|
|
* :program:`celeryd-multi`: Fixed ``set changed size during iteration`` bug
|
|
|
- occuring in the restart command.
|
|
|
+ occurring in the restart command.
|
|
|
|
|
|
* celeryd: Accidentally tried to use additional command line arguments.
|
|
|
|
|
@@ -163,7 +163,7 @@ Fixes
|
|
|
to ``cache.set`` is deprecated by the memcached libraries,
|
|
|
so we now automatically cast to :class:`int`.
|
|
|
|
|
|
-* unittests: No longer emits logging and warnings in test output.
|
|
|
+* unit tests: No longer emits logging and warnings in test output.
|
|
|
|
|
|
.. _v211-news:
|
|
|
|
|
@@ -179,7 +179,7 @@ News
|
|
|
:program:`celerybeat`. All output to ``stdout`` and ``stderr`` will be
|
|
|
redirected to the current logger if enabled.
|
|
|
|
|
|
- :setting:`CELERY_REDIRECT_STDOUTS_LEVEL` decides the loglevel used and is
|
|
|
+ :setting:`CELERY_REDIRECT_STDOUTS_LEVEL` decides the log level used and is
|
|
|
:const:`WARNING` by default.
|
|
|
|
|
|
* Added :setting:`CELERYBEAT_SCHEDULER` setting.
|
|
@@ -310,8 +310,8 @@ News
|
|
|
|
|
|
.. code-block:: python
|
|
|
|
|
|
- CELERY_AMQP_TASK_RESULT_EXPIRES = 30 * 60 # 30 mins
|
|
|
- CELERY_AMQP_TASK_RESULT_EXPIRES = 0.80 # 800 ms
|
|
|
+ CELERY_AMQP_TASK_RESULT_EXPIRES = 30 * 60 # 30 minutes.
|
|
|
+ CELERY_AMQP_TASK_RESULT_EXPIRES = 0.80 # 800 ms.
|
|
|
|
|
|
* celeryev: Event Snapshots
|
|
|
|
|
@@ -349,11 +349,11 @@ News
|
|
|
There's also a Debian init.d script for :mod:`~celery.bin.celeryev` available,
|
|
|
see :doc:`cookbook/daemonizing` for more information.
|
|
|
|
|
|
- New command line argments to celeryev:
|
|
|
+ New command line arguments to celeryev:
|
|
|
|
|
|
* :option:`-c|--camera`: Snapshot camera class to use.
|
|
|
- * :option:`--logfile|-f`: Logfile
|
|
|
- * :option:`--loglevel|-l`: Loglevel
|
|
|
+ * :option:`--logfile|-f`: Log file
|
|
|
+ * :option:`--loglevel|-l`: Log level
|
|
|
* :option:`--maxrate|-r`: Shutter rate limit.
|
|
|
* :option:`--freq|-F`: Shutter frequency
|
|
|
|
|
@@ -417,7 +417,7 @@ News
|
|
|
We now configure the root logger instead of only configuring
|
|
|
our custom logger. In addition we don't hijack
|
|
|
the multiprocessing logger anymore, but instead use a custom logger name
|
|
|
- for different apps:
|
|
|
+ for different applications:
|
|
|
|
|
|
===================================== =====================================
|
|
|
**Application** **Logger Name**
|
|
@@ -473,19 +473,20 @@ News
|
|
|
* celeryd: now emits a warning if running as the root user (euid is 0).
|
|
|
|
|
|
* :func:`celery.messaging.establish_connection`: Ability to override defaults
|
|
|
- used using kwarg "defaults".
|
|
|
+ used using keyword argument "defaults".
|
|
|
|
|
|
* celeryd: Now uses ``multiprocessing.freeze_support()`` so that it should work
|
|
|
with **py2exe**, **PyInstaller**, **cx_Freeze**, etc.
|
|
|
|
|
|
* celeryd: Now includes more metadata for the :state:`STARTED` state: PID and
|
|
|
- hostname of the worker that started the task.
|
|
|
+ host name of the worker that started the task.
|
|
|
|
|
|
See issue #181
|
|
|
|
|
|
-* subtask: Merge addititional keyword args to ``subtask()`` into task kwargs.
|
|
|
+* subtask: Merge additional keyword arguments to ``subtask()`` into task
|
|
|
+ keyword arguments.
|
|
|
|
|
|
- e.g:
|
|
|
+ e.g.:
|
|
|
|
|
|
>>> s = subtask((1, 2), {"foo": "bar"}, baz=1)
|
|
|
>>> s.args
|
|
@@ -556,7 +557,7 @@ News
|
|
|
* :meth:`TaskSetResult.join <celery.result.TaskSetResult.join>`:
|
|
|
Added 'propagate=True' argument.
|
|
|
|
|
|
- When set to :const:`False` exceptions occuring in subtasks will
|
|
|
+ When set to :const:`False` exceptions occurring in subtasks will
|
|
|
not be re-raised.
|
|
|
|
|
|
* Added ``Task.update_state(task_id, state, meta)``
|
|
@@ -575,13 +576,13 @@ News
|
|
|
* ``celery.platform`` renamed to :mod:`celery.platforms`, so it doesn't
|
|
|
collide with the built-in :mod:`platform` module.
|
|
|
|
|
|
-* Exceptions occuring in Mediator+Pool callbacks are now catched and logged
|
|
|
+* Exceptions occurring in Mediator+Pool callbacks are now caught and logged
|
|
|
instead of taking down the worker.
|
|
|
|
|
|
* Redis result backend: Now supports result expiration using the Redis
|
|
|
``EXPIRE`` command.
|
|
|
|
|
|
-* unittests: Don't leave threads running at teardown.
|
|
|
+* unit tests: Don't leave threads running at tear down.
|
|
|
|
|
|
* celeryd: Task results shown in logs are now truncated to 46 chars.
|
|
|
|
|
@@ -622,7 +623,7 @@ News
|
|
|
Now supports a timeout keyword argument.
|
|
|
|
|
|
* celeryd: The mediator thread is now disabled if
|
|
|
- :setting:`CELERY_RATE_LIMTS` is enabled, and tasks are directly sent to the
|
|
|
+ :setting:`CELERY_RATE_LIMITS` is enabled, and tasks are directly sent to the
|
|
|
pool without going through the ready queue (*Optimization*).
|
|
|
|
|
|
.. _v210-fixes:
|
|
@@ -630,13 +631,13 @@ News
|
|
|
Fixes
|
|
|
-----
|
|
|
|
|
|
-* Pool: Process timed out by TimeoutHandler must be joined by the Supervisor,
|
|
|
- so don't remove it from self._pool
|
|
|
+* Pool: Process timed out by `TimeoutHandler` must be joined by the Supervisor,
|
|
|
+ so don't remove it from the internal process list.
|
|
|
|
|
|
See issue #192.
|
|
|
|
|
|
-* TaskPublisher.delay_task now supports exchange argument, so exchange can be
|
|
|
- overriden when sending tasks in bulk using the same publisher
|
|
|
+* `TaskPublisher.delay_task` now supports exchange argument, so exchange can be
|
|
|
+ overridden when sending tasks in bulk using the same publisher
|
|
|
|
|
|
See issue #187.
|
|
|
|
|
@@ -660,7 +661,7 @@ Fixes
|
|
|
|
|
|
This issue could result in replies being lost, but have now been fixed.
|
|
|
|
|
|
-* Compat ``LoggerAdapter`` implementation: Now works for Python 2.4.
|
|
|
+* Backward compatible `LoggerAdapter` implementation: Now works for Python 2.4.
|
|
|
|
|
|
Also added support for several new methods:
|
|
|
``fatal``, ``makeRecord``, ``_log``, ``log``, ``isEnabledFor``,
|
|
@@ -677,7 +678,7 @@ Experimental
|
|
|
|
|
|
$ celeryd-multi start jerry elaine george kramer
|
|
|
|
|
|
- This also creates pidfiles and logfiles (:file:`celeryd@jerry.pid`,
|
|
|
+ This also creates PID files and log files (:file:`celeryd@jerry.pid`,
|
|
|
..., :file:`celeryd@jerry.log`. To specify a location for these files
|
|
|
use the ``--pidfile`` and ``--logfile`` arguments with the ``%n``
|
|
|
format::
|
|
@@ -751,7 +752,7 @@ Fixes
|
|
|
|
|
|
* No longer depends on the :mod:`mailer` package.
|
|
|
|
|
|
- This package had a namespace collision with ``django-mailer``,
|
|
|
+ This package had a name space collision with `django-mailer`,
|
|
|
so its functionality was replaced.
|
|
|
|
|
|
* Redis result backend: Documentation typos: Redis doesn't have
|
|
@@ -820,16 +821,16 @@ Fixes
|
|
|
See issue #175.
|
|
|
|
|
|
* Using urllib2 in a periodic task on OS X crashed because
|
|
|
- of the proxy autodetection used in OS X.
|
|
|
+ of the proxy auto detection used in OS X.
|
|
|
|
|
|
This is now fixed by using a workaround.
|
|
|
See issue #143.
|
|
|
|
|
|
-* Debian init scripts: Commands should not run in a subshell
|
|
|
+* Debian init scripts: Commands should not run in a sub shell
|
|
|
|
|
|
See issue #163.
|
|
|
|
|
|
-* Debian init scripts: Use abspath for celeryd to allow stat
|
|
|
+* Debian init scripts: Use the absolute path of celeryd to allow stat
|
|
|
|
|
|
See issue #162.
|
|
|
|
|
@@ -842,18 +843,18 @@ Documentation
|
|
|
|
|
|
``set_permissions ""`` -> ``set_permissions ".*"``.
|
|
|
|
|
|
-* Tasks Userguide: Added section on database transactions.
|
|
|
+* Tasks User Guide: Added section on database transactions.
|
|
|
|
|
|
See issue #169.
|
|
|
|
|
|
-* Routing Userguide: Fixed typo ``"feed": -> {"queue": "feeds"}``.
|
|
|
+* Routing User Guide: Fixed typo `"feed": -> {"queue": "feeds"}`.
|
|
|
|
|
|
See issue #169.
|
|
|
|
|
|
* Documented the default values for the :setting:`CELERYD_CONCURRENCY`
|
|
|
and :setting:`CELERYD_PREFETCH_MULTIPLIER` settings.
|
|
|
|
|
|
-* Tasks Userguide: Fixed typos in the subtask example
|
|
|
+* Tasks User Guide: Fixed typos in the subtask example
|
|
|
|
|
|
* celery.signals: Documented worker_process_init.
|
|
|
|
|
@@ -875,25 +876,26 @@ Documentation
|
|
|
:release-date: 2010-07-22 11:31 A.M CEST
|
|
|
|
|
|
* Routes: When using the dict route syntax, the exchange for a task
|
|
|
- could dissapear making the task unroutable.
|
|
|
+ could disappear making the task unroutable.
|
|
|
|
|
|
See issue #158.
|
|
|
|
|
|
* Test suite now passing on Python 2.4
|
|
|
|
|
|
-* No longer have to type PYTHONPATH=. to use celeryconfig in current dir.
|
|
|
+* No longer have to type `PYTHONPATH=.` to use celeryconfig in the current
|
|
|
+ directory.
|
|
|
|
|
|
This is accomplished by the default loader ensuring that the current
|
|
|
directory is in ``sys.path`` when loading the config module.
|
|
|
``sys.path`` is reset to its original state after loading.
|
|
|
|
|
|
- Adding cwd to ``sys.path`` without the user knowing may be a security
|
|
|
- issue, as this means someone can drop a Python module in the users
|
|
|
+ Adding the current working directory to `sys.path` without the user
|
|
|
+ knowing may be a security issue, as this means someone can drop a Python module in the users
|
|
|
directory that executes arbitrary commands. This was the original reason
|
|
|
not to do this, but if done *only when loading the config module*, this
|
|
|
- means that the behvavior will only apply to the modules imported in the
|
|
|
+ means that the behavior will only apply to the modules imported in the
|
|
|
config module, which I think is a good compromise (certainly better than
|
|
|
- just explictly setting PYTHONPATH=. anyway)
|
|
|
+ just explicitly setting `PYTHONPATH=.` anyway)
|
|
|
|
|
|
* Experimental Cassandra backend added.
|
|
|
|
|
@@ -912,16 +914,16 @@ Documentation
|
|
|
|
|
|
See issue #152.
|
|
|
|
|
|
-* Test teardown: Don't use atexit but nose's ``teardown()`` functionality
|
|
|
+* Test tear down: Don't use `atexit` but nose's `teardown()` functionality
|
|
|
instead.
|
|
|
|
|
|
See issue #154.
|
|
|
|
|
|
* Debian init script for celeryd: Stop now works correctly.
|
|
|
|
|
|
-* Task logger: ``warn`` method added (synonym for ``warning``)
|
|
|
+* Task logger: `warn` method added (synonym for `warning`)
|
|
|
|
|
|
-* Can now define a whitelist of errors to send error e-mails for.
|
|
|
+* Can now define a white list of errors to send error e-mails for.
|
|
|
|
|
|
Example::
|
|
|
|
|
@@ -973,8 +975,8 @@ Documentation
|
|
|
|
|
|
Containing the original arguments and fields of the task requested.
|
|
|
|
|
|
- In addition the remote control command ``set_loglevel`` has been added,
|
|
|
- this only changes the loglevel for the main process.
|
|
|
+ In addition the remote control command `set_loglevel` has been added,
|
|
|
+ this only changes the log level for the main process.
|
|
|
|
|
|
* Worker control command execution now catches errors and returns their
|
|
|
string representation in the reply.
|
|
@@ -1062,7 +1064,7 @@ Documentation
|
|
|
|
|
|
* New remote control command: ``stats``
|
|
|
|
|
|
- Dumps information about the worker, like pool process pids, and
|
|
|
+ Dumps information about the worker, like pool process ids, and
|
|
|
total number of tasks executed by type.
|
|
|
|
|
|
Example reply::
|
|
@@ -1258,7 +1260,7 @@ Backward incompatible changes
|
|
|
instead of raising :exc:`ImportError`.
|
|
|
|
|
|
celeryd raises :exc:`~celery.exceptions.ImproperlyConfigured` if the configuration
|
|
|
- is not set up. This makes it possible to use ``--help`` etc, without having a
|
|
|
+ is not set up. This makes it possible to use `--help` etc., without having a
|
|
|
working configuration.
|
|
|
|
|
|
Also this makes it possible to use the client side of celery without being
|
|
@@ -1320,10 +1322,10 @@ Backward incompatible changes
|
|
|
|
|
|
* Now uses pickle instead of cPickle on Python versions <= 2.5
|
|
|
|
|
|
- cPikle is broken in Python <= 2.5.
|
|
|
+ cPickle is broken in Python <= 2.5.
|
|
|
|
|
|
It unsafely and incorrectly uses relative instead of absolute imports,
|
|
|
- so e.g::
|
|
|
+ so e.g.::
|
|
|
|
|
|
exceptions.KeyError
|
|
|
|
|
@@ -1377,7 +1379,7 @@ News
|
|
|
* :doc:`userguide/tasksets`
|
|
|
* :doc:`userguide/routing`
|
|
|
|
|
|
-* celeryd: Standard out/error is now being redirected to the logfile.
|
|
|
+* celeryd: Standard out/error is now being redirected to the log file.
|
|
|
|
|
|
* :mod:`billiard` has been moved back to the celery repository.
|
|
|
|
|
@@ -1457,7 +1459,7 @@ News
|
|
|
|
|
|
$ celeryd -Q video, image
|
|
|
|
|
|
- See the new routing section of the userguide for more information:
|
|
|
+ See the new routing section of the User Guide for more information:
|
|
|
:doc:`userguide/routing`.
|
|
|
|
|
|
* New Task option: ``Task.queue``
|
|
@@ -1466,7 +1468,7 @@ News
|
|
|
in :setting:`CELERY_QUEUES`. ``exchange``, ``exchange_type`` and ``routing_key``
|
|
|
will be ignored
|
|
|
|
|
|
-* Added support for task soft and hard timelimits.
|
|
|
+* Added support for task soft and hard time limits.
|
|
|
|
|
|
New settings added:
|
|
|
|
|
@@ -1477,9 +1479,9 @@ News
|
|
|
|
|
|
* :setting:`CELERYD_SOFT_TASK_TIME_LIMIT`
|
|
|
|
|
|
- Soft time limit. The celery.exceptions.SoftTimeLimitExceeded exception
|
|
|
- will be raised when this is exceeded. The task can catch this to
|
|
|
- e.g. clean up before the hard time limit comes.
|
|
|
+ Soft time limit. The :exc:`celery.exceptions.SoftTimeLimitExceeded`
|
|
|
+ exception will be raised when this is exceeded. The task can catch
|
|
|
+ this to e.g. clean up before the hard time limit comes.
|
|
|
|
|
|
New command line arguments to celeryd added:
|
|
|
``--time-limit`` and ``--soft-time-limit``.
|
|
@@ -1487,8 +1489,8 @@ News
|
|
|
What's left?
|
|
|
|
|
|
This won't work on platforms not supporting signals (and specifically
|
|
|
- the ``SIGUSR1`` signal) yet. So an alternative the ability to disable
|
|
|
- the feature alltogether on nonconforming platforms must be implemented.
|
|
|
+ the `SIGUSR1` signal) yet. So an alternative the ability to disable
|
|
|
+ the feature all together on nonconforming platforms must be implemented.
|
|
|
|
|
|
Also when the hard time limit is exceeded, the task result should
|
|
|
be a ``TimeLimitExceeded`` exception.
|
|
@@ -1511,12 +1513,12 @@ News
|
|
|
You can explicitly enable/disable this feature using the
|
|
|
:setting:`CELERYD_LOG_COLOR` setting.
|
|
|
|
|
|
-* Added support for task router classes (like the django multidb routers)
|
|
|
+* Added support for task router classes (like the django multi-db routers)
|
|
|
|
|
|
* New setting: :setting:`CELERY_ROUTES`
|
|
|
|
|
|
This is a single, or a list of routers to traverse when
|
|
|
- sending tasks. Dicts in this list converts to a
|
|
|
+ sending tasks. Dictionaries in this list converts to a
|
|
|
:class:`celery.routes.MapRoute` instance.
|
|
|
|
|
|
Examples:
|
|
@@ -1590,7 +1592,7 @@ News
|
|
|
* New signal: :data:`~celery.signals.worker_process_init`: Sent inside the
|
|
|
pool worker process at init.
|
|
|
|
|
|
-* celeryd :option:`-Q` option: Ability to specifiy list of queues to use,
|
|
|
+* celeryd :option:`-Q` option: Ability to specify list of queues to use,
|
|
|
disabling other configured queues.
|
|
|
|
|
|
For example, if :setting:`CELERY_QUEUES` defines four
|
|
@@ -1618,9 +1620,9 @@ News
|
|
|
|
|
|
* Removed top-level tests directory. Test config now in celery.tests.config
|
|
|
|
|
|
- This means running the unittests doesn't require any special setup.
|
|
|
- ``celery/tests/__init__`` now configures the :envvar:`CELERY_CONFIG_MODULE`
|
|
|
- and :envvar:`CELERY_LOADER` environment variables, so when ``nosetests``
|
|
|
+ This means running the unit tests doesn't require any special setup.
|
|
|
+ `celery/tests/__init__` now configures the :envvar:`CELERY_CONFIG_MODULE`
|
|
|
+ and :envvar:`CELERY_LOADER` environment variables, so when `nosetests`
|
|
|
imports that, the unit test environment is all set up.
|
|
|
|
|
|
Before you run the tests you need to install the test requirements::
|
|
@@ -1737,7 +1739,7 @@ News
|
|
|
Critical
|
|
|
--------
|
|
|
|
|
|
-* SIGINT/Ctrl+C killed the pool, abrubtly terminating the currently executing
|
|
|
+* SIGINT/Ctrl+C killed the pool, abruptly terminating the currently executing
|
|
|
tasks.
|
|
|
|
|
|
Fixed by making the pool worker processes ignore :const:`SIGINT`.
|
|
@@ -1771,9 +1773,9 @@ Changes
|
|
|
* Added required RPM package names under ``[bdist_rpm]`` section, to support building RPMs
|
|
|
from the sources using setup.py
|
|
|
|
|
|
-* Running unittests: :envvar:`NOSE_VERBOSE` environment var now enables verbose output from Nose.
|
|
|
+* Running unit tests: :envvar:`NOSE_VERBOSE` environment var now enables verbose output from Nose.
|
|
|
|
|
|
-* :func:`celery.execute.apply`: Pass logfile/loglevel arguments as task kwargs.
|
|
|
+* :func:`celery.execute.apply`: Pass log file/log level arguments as task kwargs.
|
|
|
|
|
|
See issue #110.
|
|
|
|
|
@@ -1793,7 +1795,7 @@ Changes
|
|
|
=====
|
|
|
:release-date: 2010-05-31 09:54 A.M CEST
|
|
|
|
|
|
-* Changlog merged with 1.0.5 as the release was never announced.
|
|
|
+* Changelog merged with 1.0.5 as the release was never announced.
|
|
|
|
|
|
.. _version-1.0.3:
|
|
|
|
|
@@ -1806,7 +1808,7 @@ Changes
|
|
|
Important notes
|
|
|
---------------
|
|
|
|
|
|
-* Messages are now acked *just before* the task function is executed.
|
|
|
+* Messages are now acknowledged *just before* the task function is executed.
|
|
|
|
|
|
This is the behavior we've wanted all along, but couldn't have because of
|
|
|
limitations in the multiprocessing module.
|
|
@@ -2048,8 +2050,8 @@ Fixes
|
|
|
|
|
|
* Remote rate limits was not properly applied (Issue #98).
|
|
|
|
|
|
-* Now handles exceptions with unicode messages correctly in
|
|
|
- ``TaskRequest.on_failure``.
|
|
|
+* Now handles exceptions with Unicode messages correctly in
|
|
|
+ `TaskRequest.on_failure`.
|
|
|
|
|
|
* Database backend: ``TaskMeta.result``: default value should be ``None``
|
|
|
not empty string.
|
|
@@ -2080,7 +2082,7 @@ Fixes
|
|
|
[%(asctime)s: %(levelname)s/%(processName)s] %(message)s
|
|
|
""".strip()
|
|
|
|
|
|
-* Unittests: Don't disable the django test database teardown,
|
|
|
+* Unit tests: Don't disable the django test database tear down,
|
|
|
instead fixed the underlying issue which was caused by modifications
|
|
|
to the ``DATABASE_NAME`` setting (Issue #82).
|
|
|
|
|
@@ -2122,10 +2124,10 @@ Fixes
|
|
|
* celery.beat.Scheduler: Fixed a bug where the schedule was not properly
|
|
|
flushed to disk if the schedule had not been properly initialized.
|
|
|
|
|
|
-* celerybeat: Now syncs the schedule to disk when receiving the ``SIGTERM``
|
|
|
- and ``SIGINT`` signals.
|
|
|
+* celerybeat: Now syncs the schedule to disk when receiving the :sig:`SIGTERM`
|
|
|
+ and :sig:`SIGINT` signals.
|
|
|
|
|
|
-* Control commands: Make sure keywords arguments are not in unicode.
|
|
|
+* Control commands: Make sure keywords arguments are not in Unicode.
|
|
|
|
|
|
* ETA scheduler: Was missing a logger object, so the scheduler crashed
|
|
|
when trying to log that a task had been revoked.
|
|
@@ -2150,7 +2152,7 @@ Fixes
|
|
|
|
|
|
* Tasks are now acknowledged early instead of late.
|
|
|
|
|
|
- This is done because messages can only be acked within the same
|
|
|
+ This is done because messages can only be acknowledged within the same
|
|
|
connection channel, so if the connection is lost we would have to refetch
|
|
|
the message again to acknowledge it.
|
|
|
|
|
@@ -2171,9 +2173,9 @@ Fixes
|
|
|
worked on, this patch would enable us to use a better solution, and is
|
|
|
scheduled for inclusion in the ``2.0.0`` release.
|
|
|
|
|
|
-* celeryd now shutdowns cleanly when receving the ``TERM`` signal.
|
|
|
+* celeryd now shutdowns cleanly when receiving the :sig:`SIGTERM` signal.
|
|
|
|
|
|
-* celeryd now does a cold shutdown if the ``INT`` signal is received (Ctrl+C),
|
|
|
+* celeryd now does a cold shutdown if the :sig:`SIGINT` signal is received (Ctrl+C),
|
|
|
this means it tries to terminate as soon as possible.
|
|
|
|
|
|
* Caching of results now moved to the base backend classes, so no need
|
|
@@ -2267,7 +2269,7 @@ Fixes
|
|
|
Used by retry() to resend the task to its original destination using the same
|
|
|
exchange/routing_key.
|
|
|
|
|
|
-* Events: Fields was not passed by ``.send()`` (fixes the uuid keyerrors
|
|
|
+* Events: Fields was not passed by `.send()` (fixes the UUID key errors
|
|
|
in celerymon)
|
|
|
|
|
|
* Added ``--schedule``/``-s`` option to celeryd, so it is possible to
|
|
@@ -2296,8 +2298,8 @@ Fixes
|
|
|
* Now have our own ``ImproperlyConfigured`` exception, instead of using the
|
|
|
Django one.
|
|
|
|
|
|
-* Improvements to the debian init scripts: Shows an error if the program is
|
|
|
- not executeable. Does not modify ``CELERYD`` when using django with
|
|
|
+* Improvements to the Debian init scripts: Shows an error if the program is
|
|
|
+ not executable. Does not modify `CELERYD` when using django with
|
|
|
virtualenv.
|
|
|
|
|
|
.. _version-1.0.0:
|
|
@@ -2312,7 +2314,7 @@ Backward incompatible changes
|
|
|
-----------------------------
|
|
|
|
|
|
* Celery does not support detaching anymore, so you have to use the tools
|
|
|
- available on your platform, or something like supervisord to make
|
|
|
+ available on your platform, or something like Supervisord to make
|
|
|
celeryd/celerybeat/celerymon into background processes.
|
|
|
|
|
|
We've had too many problems with celeryd daemonizing itself, so it was
|
|
@@ -2420,8 +2422,8 @@ Backward incompatible changes
|
|
|
revert to the previous behaviour set
|
|
|
:setting:`CELERY_STORE_ERRORS_EVEN_IF_IGNORED` to ``True``.
|
|
|
|
|
|
-* The staticstics functionality has been removed in favor of events,
|
|
|
- so the ``-S`` and ``--statistics`` switches has been removed.
|
|
|
+* The statistics functionality has been removed in favor of events,
|
|
|
+ so the `-S` and --statistics` switches has been removed.
|
|
|
|
|
|
* The module ``celery.task.strategy`` has been removed.
|
|
|
|
|
@@ -2431,9 +2433,9 @@ Backward incompatible changes
|
|
|
* The :envvar:`CELERY_LOADER` environment variable now needs loader class name
|
|
|
in addition to module name,
|
|
|
|
|
|
- E.g. where you previously had: ``"celery.loaders.default"``, you now need
|
|
|
- ``"celery.loaders.default.Loader"``, using the previous syntax will result
|
|
|
- in a DeprecationWarning.
|
|
|
+ E.g. where you previously had: `"celery.loaders.default"`, you now need
|
|
|
+ `"celery.loaders.default.Loader"`, using the previous syntax will result
|
|
|
+ in a `DeprecationWarning`.
|
|
|
|
|
|
* Detecting the loader is now lazy, and so is not done when importing
|
|
|
``celery.loaders``.
|
|
@@ -2466,13 +2468,13 @@ Deprecations
|
|
|
* CELERY_AMQP_CONNECTION_MAX_RETRIES -> CELERY_BROKER_CONNECTION_MAX_RETRIES
|
|
|
* SEND_CELERY_TASK_ERROR_EMAILS -> CELERY_SEND_TASK_ERROR_EMAILS
|
|
|
|
|
|
-* The public api names in celery.conf has also changed to a consistent naming
|
|
|
+* The public API names in celery.conf has also changed to a consistent naming
|
|
|
scheme.
|
|
|
|
|
|
* We now support consuming from an arbitrary number of queues.
|
|
|
|
|
|
To do this we had to rename the configuration syntax. If you use any of
|
|
|
- the custom AMQP routing options (queue/exchange/routing_key, etc), you
|
|
|
+ the custom AMQP routing options (queue/exchange/routing_key, etc.), you
|
|
|
should read the new FAQ entry: http://bit.ly/aiWoH.
|
|
|
|
|
|
The previous syntax is deprecated and scheduled for removal in v2.0.
|
|
@@ -2514,7 +2516,7 @@ News
|
|
|
* Message format has been standardized and now uses ISO-8601 format
|
|
|
for dates instead of datetime.
|
|
|
|
|
|
-* ``celeryd`` now responds to the ``HUP`` signal by restarting itself.
|
|
|
+* `celeryd` now responds to the :sig:`SIGHUP` signal by restarting itself.
|
|
|
|
|
|
* Periodic tasks are now scheduled on the clock.
|
|
|
|
|
@@ -2541,7 +2543,7 @@ News
|
|
|
:mod:`celery.task.http`. With more reflective names, sensible interface,
|
|
|
and it's possible to override the methods used to perform HTTP requests.
|
|
|
|
|
|
-* The results of tasksets are now cached by storing it in the result
|
|
|
+* The results of task sets are now cached by storing it in the result
|
|
|
backend.
|
|
|
|
|
|
.. _v100-changes:
|
|
@@ -2580,9 +2582,9 @@ Changes
|
|
|
* Now also imports modules listed in :setting:`CELERY_IMPORTS` when running
|
|
|
with django (as documented).
|
|
|
|
|
|
-* Loglevel for stdout/stderr changed from INFO to ERROR
|
|
|
+* Log level for stdout/stderr changed from INFO to ERROR
|
|
|
|
|
|
-* ImportErrors are now properly propogated when autodiscovering tasks.
|
|
|
+* ImportErrors are now properly propagated when autodiscovering tasks.
|
|
|
|
|
|
* You can now use ``celery.messaging.establish_connection`` to establish a
|
|
|
connection to the broker.
|
|
@@ -2639,7 +2641,7 @@ Documentation
|
|
|
* Now emits a warning if the --detach argument is used.
|
|
|
--detach should not be used anymore, as it has several not easily fixed
|
|
|
bugs related to it. Instead, use something like start-stop-daemon,
|
|
|
- supervisord or launchd (os x).
|
|
|
+ Supervisord or launchd (os x).
|
|
|
|
|
|
|
|
|
* Make sure logger class is process aware, even if running Python >= 2.6.
|
|
@@ -2654,10 +2656,10 @@ Documentation
|
|
|
:release-date: 2009-12-22 09:43 A.M CEST
|
|
|
|
|
|
* Fixed a possible race condition that could happen when storing/querying
|
|
|
- task results using the the database backend.
|
|
|
+ task results using the database backend.
|
|
|
|
|
|
* Now has console script entry points in the setup.py file, so tools like
|
|
|
- buildout will correctly install the programs celerybin and celeryinit.
|
|
|
+ Buildout will correctly install the programs celeryd and celeryinit.
|
|
|
|
|
|
.. _version-0.8.2:
|
|
|
|
|
@@ -2757,7 +2759,7 @@ Changes
|
|
|
|
|
|
* Prepare exception to pickle when saving :state:`RETRY` status for all backends.
|
|
|
|
|
|
-* SQLite no concurrency limit should only be effective if the db backend
|
|
|
+* SQLite no concurrency limit should only be effective if the database backend
|
|
|
is used.
|
|
|
|
|
|
|
|
@@ -2824,7 +2826,7 @@ Important changes
|
|
|
|
|
|
This to not receive more messages than we can handle.
|
|
|
|
|
|
-* Now redirects stdout/stderr to the celeryd logfile when detached
|
|
|
+* Now redirects stdout/stderr to the celeryd log file when detached
|
|
|
|
|
|
* Now uses ``inspect.getargspec`` to only pass default arguments
|
|
|
the task supports.
|
|
@@ -2837,7 +2839,7 @@ Important changes
|
|
|
* ``celery.utils.gen_unique_id``: Workaround for
|
|
|
http://bugs.python.org/issue4607
|
|
|
|
|
|
-* You can now customize what happens at worker start, at process init, etc
|
|
|
+* You can now customize what happens at worker start, at process init, etc.,
|
|
|
by creating your own loaders. (see :mod:`celery.loaders.default`,
|
|
|
:mod:`celery.loaders.djangoapp`, :mod:`celery.loaders`.)
|
|
|
|
|
@@ -2868,7 +2870,7 @@ News
|
|
|
detaching.
|
|
|
|
|
|
* Fixed a possible DjangoUnicodeDecodeError being raised when saving pickled
|
|
|
- data to Django's memcached cache backend.
|
|
|
+ data to Django`s memcached cache backend.
|
|
|
|
|
|
* Better Windows compatibility.
|
|
|
|
|
@@ -2895,7 +2897,7 @@ News
|
|
|
|
|
|
* jail() refactored into :class:`celery.execute.ExecuteWrapper`.
|
|
|
|
|
|
-* ``views.apply`` now correctly sets mimetype to "application/json"
|
|
|
+* `views.apply` now correctly sets mime-type to "application/json"
|
|
|
|
|
|
* ``views.task_status`` now returns exception if state is :state:`RETRY`
|
|
|
|
|
@@ -2906,8 +2908,8 @@ News
|
|
|
|
|
|
* Add a sensible __repr__ to ExceptionInfo for easier debugging
|
|
|
|
|
|
-* Fix documentation typo ``.. import map`` -> ``.. import dmap``.
|
|
|
- Thanks mikedizon
|
|
|
+* Fix documentation typo `.. import map` -> `.. import dmap`.
|
|
|
+ Thanks to mikedizon
|
|
|
|
|
|
.. _version-0.6.0:
|
|
|
|
|
@@ -2921,7 +2923,7 @@ Important changes
|
|
|
-----------------
|
|
|
|
|
|
* Fixed a bug where tasks raising unpickleable exceptions crashed pool
|
|
|
- workers. So if you've had pool workers mysteriously dissapearing, or
|
|
|
+ workers. So if you've had pool workers mysteriously disappearing, or
|
|
|
problems with celeryd stopping working, this has been fixed in this
|
|
|
version.
|
|
|
|
|
@@ -2962,7 +2964,7 @@ News
|
|
|
engines)
|
|
|
|
|
|
* A lot more debugging information is now available by turning on the
|
|
|
- ``DEBUG`` loglevel (``--loglevel=DEBUG``).
|
|
|
+ `DEBUG` log level (`--loglevel=DEBUG`).
|
|
|
|
|
|
* Functions/methods with a timeout argument now works correctly.
|
|
|
|
|
@@ -2970,14 +2972,14 @@ News
|
|
|
With an iterator yielding task args, kwargs tuples, evenly distribute
|
|
|
the processing of its tasks throughout the time window available.
|
|
|
|
|
|
-* Log message ``Unknown task ignored...`` now has loglevel ``ERROR``
|
|
|
+* Log message `Unknown task ignored...` now has log level `ERROR`
|
|
|
|
|
|
* Log message ``"Got task from broker"`` is now emitted for all tasks, even if
|
|
|
the task has an ETA (estimated time of arrival). Also the message now
|
|
|
includes the ETA for the task (if any).
|
|
|
|
|
|
* Acknowledgement now happens in the pool callback. Can't do ack in the job
|
|
|
- target, as it's not pickleable (can't share AMQP connection, etc)).
|
|
|
+ target, as it's not pickleable (can't share AMQP connection, etc.)).
|
|
|
|
|
|
* Added note about .delay hanging in README
|
|
|
|
|
@@ -2985,10 +2987,10 @@ News
|
|
|
|
|
|
* Fixed discovery to make sure app is in INSTALLED_APPS
|
|
|
|
|
|
-* Previously overrided pool behaviour (process reap, wait until pool worker
|
|
|
- available, etc.) is now handled by ``multiprocessing.Pool`` itself.
|
|
|
+* Previously overridden pool behavior (process reap, wait until pool worker
|
|
|
+ available, etc.) is now handled by `multiprocessing.Pool` itself.
|
|
|
|
|
|
-* Convert statistics data to unicode for use as kwargs. Thanks Lucy!
|
|
|
+* Convert statistics data to Unicode for use as kwargs. Thanks Lucy!
|
|
|
|
|
|
.. _version-0.4.1:
|
|
|
|
|
@@ -3005,9 +3007,9 @@ News
|
|
|
=====
|
|
|
:release-date: 2009-07-01 07:29 P.M CET
|
|
|
|
|
|
-* Adds eager execution. ``celery.execute.apply``|``Task.apply`` executes the
|
|
|
- function blocking until the task is done, for API compatiblity it
|
|
|
- returns an ``celery.result.EagerResult`` instance. You can configure
|
|
|
+* Adds eager execution. `celery.execute.apply`|`Task.apply` executes the
|
|
|
+ function blocking until the task is done, for API compatibility it
|
|
|
+ returns an `celery.result.EagerResult` instance. You can configure
|
|
|
celery to always run tasks locally by setting the
|
|
|
:setting:`CELERY_ALWAYS_EAGER` setting to ``True``.
|
|
|
|
|
@@ -3031,7 +3033,7 @@ News
|
|
|
>>> res = apply_async(MyTask,
|
|
|
... eta=datetime.now() + timedelta(days=1))
|
|
|
|
|
|
-* Now unlinks the pidfile if it's stale.
|
|
|
+* Now unlinks stale PID files
|
|
|
|
|
|
* Lots of more tests.
|
|
|
|
|
@@ -3064,7 +3066,7 @@ News
|
|
|
by running ``python manage.py celerystats``. See
|
|
|
``celery.monitoring`` for more information.
|
|
|
|
|
|
-* The celery daemon can now be supervised (i.e it is automatically
|
|
|
+* The celery daemon can now be supervised (i.e. it is automatically
|
|
|
restarted if it crashes). To use this start celeryd with the
|
|
|
``--supervised`` option (or alternatively ``-S``).
|
|
|
|
|
@@ -3103,8 +3105,8 @@ News
|
|
|
=====
|
|
|
:release-date: 2008-06-16 11:41 P.M CET
|
|
|
|
|
|
-* **IMPORTANT** Now uses AMQP's ``basic.consume`` instead of
|
|
|
- ``basic.get``. This means we're no longer polling the broker for
|
|
|
+* **IMPORTANT** Now uses AMQP`s `basic.consume` instead of
|
|
|
+ `basic.get`. This means we're no longer polling the broker for
|
|
|
new messages.
|
|
|
|
|
|
* **IMPORTANT** Default concurrency limit is now set to the number of CPUs
|
|
@@ -3123,8 +3125,8 @@ News
|
|
|
|
|
|
* Now compatible with carrot 0.4.5
|
|
|
|
|
|
-* Default AMQP connnection timeout is now 4 seconds.
|
|
|
-* ``AsyncResult.read()`` was always returning ``True``.
|
|
|
+* Default AMQP connection timeout is now 4 seconds.
|
|
|
+* `AsyncResult.read()` was always returning `True`.
|
|
|
|
|
|
* Only use README as long_description if the file exists so easy_install
|
|
|
doesn't break.
|
|
@@ -3139,7 +3141,7 @@ News
|
|
|
|
|
|
* Fixed typo ``AMQP_SERVER`` in documentation to ``AMQP_HOST``.
|
|
|
|
|
|
-* Worker exception e-mails sent to admins now works properly.
|
|
|
+* Worker exception e-mails sent to administrators now works properly.
|
|
|
|
|
|
* No longer depends on ``django``, so installing ``celery`` won't affect
|
|
|
the preferred Django version installed.
|
|
@@ -3248,21 +3250,21 @@ arguments, so be sure to flush your task queue before you upgrade.
|
|
|
http://bit.ly/celery_AMQP_routing
|
|
|
.. _`FAQ`: http://ask.github.com/celery/faq.html
|
|
|
|
|
|
-* Task errors are now logged using loglevel ``ERROR`` instead of ``INFO``,
|
|
|
- and backtraces are dumped. Thanks to Grégoire Cachet.
|
|
|
+* Task errors are now logged using log level `ERROR` instead of `INFO`,
|
|
|
+ and stacktraces are dumped. Thanks to Grégoire Cachet.
|
|
|
|
|
|
* Make every new worker process re-establish it's Django DB connection,
|
|
|
this solving the "MySQL connection died?" exceptions.
|
|
|
Thanks to Vitaly Babiy and Jirka Vejrazka.
|
|
|
|
|
|
-* **IMOPORTANT** Now using pickle to encode task arguments. This means you
|
|
|
+* **IMPORTANT** Now using pickle to encode task arguments. This means you
|
|
|
now can pass complex python objects to tasks as arguments.
|
|
|
|
|
|
* Removed dependency to ``yadayada``.
|
|
|
|
|
|
* Added a FAQ, see ``docs/faq.rst``.
|
|
|
|
|
|
-* Now converts any unicode keys in task ``kwargs`` to regular strings.
|
|
|
+* Now converts any Unicode keys in task `kwargs` to regular strings.
|
|
|
Thanks Vitaly Babiy.
|
|
|
|
|
|
* Renamed the ``TaskDaemon`` to ``WorkController``.
|
|
@@ -3292,8 +3294,8 @@ arguments, so be sure to flush your task queue before you upgrade.
|
|
|
==========
|
|
|
:release-date: 2009-05-20 05:14 P.M CET
|
|
|
|
|
|
-* *Internal release*. Improved handling of unpickled exceptions,
|
|
|
- ``get_result`` now tries to recreate something looking like the
|
|
|
+* *Internal release*. Improved handling of unpickleable exceptions,
|
|
|
+ `get_result` now tries to recreate something looking like the
|
|
|
original exception.
|
|
|
|
|
|
.. _version-0.2.0-pre2:
|
|
@@ -3302,8 +3304,8 @@ arguments, so be sure to flush your task queue before you upgrade.
|
|
|
==========
|
|
|
:release-date: 2009-05-20 01:56 P.M CET
|
|
|
|
|
|
-* Now handles unpickleable exceptions (like the dynimically generated
|
|
|
- subclasses of ``django.core.exception.MultipleObjectsReturned``).
|
|
|
+* Now handles unpickleable exceptions (like the dynamically generated
|
|
|
+ subclasses of `django.core.exception.MultipleObjectsReturned`).
|
|
|
|
|
|
.. _version-0.2.0-pre1:
|
|
|
|
|
@@ -3394,7 +3396,7 @@ arguments, so be sure to flush your task queue before you upgrade.
|
|
|
|
|
|
* Refactored the task metadata cache and database backends, and added
|
|
|
a new backend for Tokyo Tyrant. You can set the backend in your django
|
|
|
- settings file. e.g::
|
|
|
+ settings file. E.g.::
|
|
|
|
|
|
CELERY_RESULT_BACKEND = "database"; # Uses the database
|
|
|
CELERY_RESULT_BACKEND = "cache"; # Uses the django cache framework
|
|
@@ -3440,13 +3442,13 @@ arguments, so be sure to flush your task queue before you upgrade.
|
|
|
=====
|
|
|
:release-date: 2009-04-30 1:50 P.M CET
|
|
|
|
|
|
-* Added some unittests
|
|
|
+* Added some unit tests
|
|
|
|
|
|
* Can now use the database for task metadata (like if the task has
|
|
|
been executed or not). Set ``settings.CELERY_TASK_META``
|
|
|
|
|
|
-* Can now run ``python setup.py test`` to run the unittests from
|
|
|
- within the ``tests`` project.
|
|
|
+* Can now run `python setup.py test` to run the unit tests from
|
|
|
+ within the `tests` project.
|
|
|
|
|
|
* Can set the AMQP exchange/routing key/queue using
|
|
|
``settings.CELERY_AMQP_EXCHANGE``, ``settings.CELERY_AMQP_ROUTING_KEY``,
|
|
@@ -3462,13 +3464,13 @@ arguments, so be sure to flush your task queue before you upgrade.
|
|
|
find out how many, or if all them, are done (excellent for progress
|
|
|
bars and such)
|
|
|
|
|
|
-* Now catches all exceptions when running ``Task.__call__``, so the
|
|
|
- daemon doesn't die. This does't happen for pure functions yet, only
|
|
|
- ``Task`` classes.
|
|
|
+* Now catches all exceptions when running `Task.__call__`, so the
|
|
|
+ daemon doesn't die. This doesn't happen for pure functions yet, only
|
|
|
+ `Task` classes.
|
|
|
|
|
|
* ``autodiscover()`` now works with zipped eggs.
|
|
|
|
|
|
-* celeryd: Now adds curernt working directory to ``sys.path`` for
|
|
|
+* celeryd: Now adds current working directory to `sys.path` for
|
|
|
convenience.
|
|
|
|
|
|
* The ``run_every`` attribute of ``PeriodicTask`` classes can now be a
|