Browse Source

Updated Changelog

Ask Solem 15 years ago
parent
commit
11c2631874
4 changed files with 88 additions and 22 deletions
  1. 65 10
      Changelog
  2. 4 1
      Makefile
  3. 1 0
      celery/bin/celeryd.py
  4. 18 11
      contrib/verify-reference-index.sh

+ 65 - 10
Changelog

@@ -8,6 +8,37 @@ Change history
 BACKWARD INCOMPATIBLE CHANGES
 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
+  celeryd/celerybeat/celerymon into background processes.
+
+  We've had too many problems with celeryd daemonizing itself, so it was
+  decided it has to be removed. Example startup scripts has been added to
+  ``contrib/``:
+
+      * Debian, Ubuntu, (start-stop-daemon)
+
+           ``contrib/debian/init.d/celeryd``
+           ``contrib/debian/init.d/celerybeat``
+
+      * Mac OS X launchd
+
+            ``contrib/mac/org.celeryq.celeryd.plist``
+            ``contrib/mac/org.celeryq.celerybeat.plist``
+            ``contrib/mac/org.celeryq.celerymon.plist``
+
+      * Supervisord (http://supervisord.org)
+
+            ``contrib/supervisord/supervisord.conf``
+
+  In addition to ``--detach``, the following program arguments has been
+  removed: ``--uid``, ``--gid``, ``--workdir``, ``--chroot``, ``--pidfile``,
+  ``--umask``. All good daemonization tools should support equivalent
+  functionality, so don't worry.
+
+  Also the following configuration keys has been removed:
+  ``CELERYD_PID_FILE``, ``CELERYBEAT_PID_FILE``, ``CELERYMON_PID_FILE``.
+
 * Default celeryd loglevel is now ``WARN``, to enable the previous log level
 * Default celeryd loglevel is now ``WARN``, to enable the previous log level
   start celeryd with ``--loglevel=INFO``.
   start celeryd with ``--loglevel=INFO``.
 
 
@@ -43,7 +74,7 @@ BACKWARD INCOMPATIBLE CHANGES
 
 
 		from celery.decorators import task
 		from celery.decorators import task
 
 
-		@task()
+		@task
 		def add(x, y):
 		def add(x, y):
 			return x + y
 			return x + y
 
 
@@ -82,6 +113,11 @@ BACKWARD INCOMPATIBLE CHANGES
 * The staticstics functionality has been removed in favor of events,
 * The staticstics functionality has been removed in favor of events,
   so the ``-S`` and ``--statistics`` switches has been removed.
   so the ``-S`` and ``--statistics`` switches has been removed.
 
 
+* The module ``celery.task.strategy`` has been removed.
+
+* ``celery.discovery`` has been removed, and it's ``autodiscover`` function is
+  now in ``celery.loaders.djangoapp``. Reason: Internal API.
+
 
 
 DEPRECATIONS
 DEPRECATIONS
 ------------
 ------------
@@ -133,6 +169,21 @@ NEWS
 * Message format has been standardized and now uses ISO-8601 format
 * Message format has been standardized and now uses ISO-8601 format
   for dates instead of datetime.
   for dates instead of datetime.
 
 
+* ``celeryd`` now responds to the ``HUP`` signal by restarting itself.
+
+* Periodic tasks are now scheduled on the clock, i.e. ``timedelta(hours=1)``
+  means every hour at :00 minutes, not every hour from the server starts.
+  To revert to the previous behaviour you can set
+  ``PeriodicTask.relative = True``.
+
+* Now supports passing execute options to a TaskSets list of args, e.g.:
+
+    >>> ts = TaskSet(add, [([2, 2], {}, {"countdown": 1}),
+    ...                   ([4, 4], {}, {"countdown": 2}),
+    ...                   ([8, 8], {}, {"countdown": 3})])
+    >>> ts.run()
+
+
 CHANGES
 CHANGES
 -------
 -------
 
 
@@ -140,8 +191,14 @@ CHANGES
 
 
 * New dependencies: billiard, python-dateutil, django-picklefield
 * New dependencies: billiard, python-dateutil, django-picklefield
 
 
+* No longer depends on python-daemon
+
 * The ``uuid`` distribution is added as a dependency when running Python 2.4.
 * The ``uuid`` distribution is added as a dependency when running Python 2.4.
 
 
+* Now remembers the previously detected loader by keeping it in
+  the ``CELERY_LOADER`` environment variable. This may help on windows where
+  fork emulation is used.
+
 * ETA no longer sends datetime objects, but uses ISO 8601 date format in a
 * ETA no longer sends datetime objects, but uses ISO 8601 date format in a
   string for better compatibility with other platforms.
   string for better compatibility with other platforms.
 
 
@@ -154,18 +211,11 @@ CHANGES
   eta tasks are sorted by time, so we don't have to poll the whole list all the
   eta tasks are sorted by time, so we don't have to poll the whole list all the
   time.
   time.
 
 
-* Does not longer use the python-daemon pidfile implementation, but a custom
-  one that doesn't create those weird ``.lock`` and thread files.
-
-* The ``--uid`` and ``--gid`` arguments now support supplying the uid and gid
-  as a username or group name.
-
-* Now ignores permission denied errors when removing the pidfile so it's
-  possible to shutdown when running as an unprivileged user.
-
 * Now also imports modules listed in CELERY_IMPORTS when running
 * Now also imports modules listed in CELERY_IMPORTS when running
   with django (as documented).
   with django (as documented).
 
 
+* Loglevel for stdout/stderr changed from INFO to ERROR
+
 * ImportErrors are now properly propogated when autodiscovering tasks.
 * ImportErrors are now properly propogated when autodiscovering tasks.
 
 
 * You can now use ``celery.messaging.establish_connection`` to establish a
 * You can now use ``celery.messaging.establish_connection`` to establish a
@@ -188,6 +238,11 @@ CHANGES
 * :exc:`celery.exceptions.NotRegistered` now inherits from :exc:`KeyError`,
 * :exc:`celery.exceptions.NotRegistered` now inherits from :exc:`KeyError`,
   and ``TaskRegistry.__getitem__``+``pop`` raises ``NotRegistered`` instead
   and ``TaskRegistry.__getitem__``+``pop`` raises ``NotRegistered`` instead
 
 
+* You can set the loader via the ``CELERY_LOADER`` environment variable.
+
+* You can now set ``CELERY_IGNORE_RESULT`` to ignore task results by default
+  (if enabled, tasks doesn't save results or errors to the backend used).
+
 BUGS
 BUGS
 ----
 ----
 
 

+ 4 - 1
Makefile

@@ -13,6 +13,9 @@ ghdocs:
 autodoc:
 autodoc:
 	contrib/doc4allmods celery
 	contrib/doc4allmods celery
 
 
+verifyindex:
+	contrib/verify-reference-index.sh
+
 flakes:
 flakes:
 	find . -name "*.py" | xargs pyflakes
 	find . -name "*.py" | xargs pyflakes
 
 
@@ -43,7 +46,7 @@ quicktest:
 testverbose:
 testverbose:
 	(cd testproj; python manage.py test --verbosity=2)
 	(cd testproj; python manage.py test --verbosity=2)
 
 
-releaseok: pep8 autodoc test gitclean
+releaseok: pep8 autodoc verifyindex test gitclean
 
 
 removepyc:
 removepyc:
 	find . -name "*.pyc" | xargs rm
 	find . -name "*.pyc" | xargs rm

+ 1 - 0
celery/bin/celeryd.py

@@ -189,6 +189,7 @@ def install_worker_restart_handler(worker):
 
 
     platform.install_signal_handler("SIGHUP", restart_worker_sig_handler)
     platform.install_signal_handler("SIGHUP", restart_worker_sig_handler)
 
 
+
 def parse_options(arguments):
 def parse_options(arguments):
     """Parse the available options to ``celeryd``."""
     """Parse the available options to ``celeryd``."""
     parser = optparse.OptionParser(option_list=OPTION_LIST)
     parser = optparse.OptionParser(option_list=OPTION_LIST)

+ 18 - 11
contrib/verify-reference-index.sh

@@ -1,14 +1,21 @@
 #!/bin/bash
 #!/bin/bash
-modules=$(grep "celery." docs/reference/index.rst | \
-            perl -ple's/^\s*|\s*$//g;s{\.}{/}g;')
-retval=0
-for module in $modules; do
-    if [ ! -f "$module.py" ]; then
-        if [ ! -f "$module/__init__.py" ]; then
-            echo "Outdated reference: $module"
-            retval=1
+
+verify_index() {
+    modules=$(grep "celery." "$1" | \
+                perl -ple's/^\s*|\s*$//g;s{\.}{/}g;')
+    retval=0
+    for module in $modules; do
+        if [ ! -f "$module.py" ]; then
+            if [ ! -f "$module/__init__.py" ]; then
+                echo "Outdated reference: $module"
+                retval=1
+            fi
         fi
         fi
-    fi
-done
+    done
+
+    return $retval
+}
+
+verify_index docs/reference/index.rst && \
+    verify_index docs/internals/reference/index.rst
 
 
-exit $retval