diff --git a/celery-3.0.11.tar.bz2 b/celery-3.0.11.tar.bz2 deleted file mode 100644 index fa9626b..0000000 --- a/celery-3.0.11.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9aba922645e073955f1eeb5ccba4f3cfc2df119311fef7c543ff2c386f59f7a4 -size 1134910 diff --git a/celery-3.0.19.tar.bz2 b/celery-3.0.19.tar.bz2 new file mode 100644 index 0000000..a850555 --- /dev/null +++ b/celery-3.0.19.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5aa87403ffe532940c7bea673dbe715affecaecabaa9c4bf33da721a1303cde +size 1151120 diff --git a/python-celery.changes b/python-celery.changes index f3fea27..712a56b 100644 --- a/python-celery.changes +++ b/python-celery.changes @@ -1,3 +1,406 @@ +------------------------------------------------------------------- +Tue Apr 30 19:34:54 UTC 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). + +------------------------------------------------------------------- +Fri Apr 12 17:52:35 UTC 2013 - alexandre@exatati.com.br + +- Update to 3.0.18: + - Now depends on kombu 2.5.10. + See the kombu changelog. + - Now depends on billiard 2.7.3.27. + - Can now specify a whitelist of accepted serializers using + the new CELERY_ACCEPT_CONTENT setting. + This means that you can force the worker to discard messages + serialized with pickle and other untrusted serializers. + For example to only allow JSON serialized messages use:: + CELERY_ACCEPT_CONTENT = ['json'] + you can also specify MIME types in the whitelist:: + CELERY_ACCEPT_CONTENT = ['application/json'] + - Fixed deadlock in multiprocessing's pool caused by the + semaphore not being released when terminated by signal. + - Processes Pool: It's now possible to debug pool processes using GDB. + - celery report now censors possibly secret settings, like passwords + and secret tokens. + You should still check the output before pasting anything + on the internet. + - Connection URLs now ignore multiple '+' tokens. + - Worker/statedb: Now uses pickle protocol 2 (Py2.5+) + - Fixed Python 3 compatibility issues. + - Worker: A warning is now given if a worker is started with the + same node name as an existing worker. + - Worker: Fixed a deadlock that could occur while revoking tasks (Issue #1297). + - Worker: The :sig:`HUP` handler now closes all open file descriptors + before restarting to ensure file descriptors does not leak (Issue #1270). + - Worker: Optimized storing/loading the revoked tasks list (Issue #1289). + After this change the --statedb file will take up more disk space, + but loading from and storing the revoked tasks will be considerably + faster (what before took 5 minutes will now take less than a second). + - Celery will now suggest alternatives if there's a typo in the + broker transport name (e.g. ampq -> amqp). + - Worker: The auto-reloader would cause a crash if a monitored file + was unlinked. + Fix contributed by Agris Ameriks. + - Fixed AsyncResult pickling error. + Fix contributed by Thomas Minor. + - Fixed handling of Unicode in logging output when using log colors + (Issue #427). + - celery.app.utils.ConfigurationView is now a MutableMapping. + Contributed by Aaron Harnly. + - Fixed memory leak in LRU cache implementation. + Fix contributed by Romuald Brunet. + - celery.contrib.rdb: Now works when sockets are in non-blocking mode. + Fix contributed by Theo Spears. + - The inspect reserved remote control command included active (started) tasks + with the reserved tasks (Issue #1030). + - The task_failure signal received a modified traceback object + meant for pickling purposes, this has been fixed so that it now + receives the real traceback instead. + - The @task decorator silently ignored positional arguments, + it now raises the expected TypeError instead (Issue #1125). + - The worker will now properly handle messages with invalid + eta/expires fields (Issue #1232). + - The pool_restart remote control command now reports + an error if the CELERYD_POOL_RESTARTS setting is not set. + - celery.conf.add_defaults can now be used with non-dict objects. + - Fixed compatibility problems in the Proxy class (Issue #1087). + The class attributes __module__, __name__ and __doc__ + are now meaningful string objects. + Thanks to Marius Gedminas. + - MongoDB Backend: The MONGODB_BACKEND_SETTINGS setting + now accepts a option key that lets you forward arbitrary kwargs + to the underlying pymongo.Connection object (Issue #1015). + - Beat: The daily backend cleanup task is no longer enabled + for result backends that support automatic result expiration (Issue #1031). + - Canvas list operations now takes application instance from the first + task in the list, instead of depending on the current_app (Issue #1249). + - Worker: Message decoding error log message now includes traceback + information. + - Worker: The startup banner now includes system platform. + - celery inspect|status|control now gives an error if used + with an SQL based broker transport. +- Aditional changes from 3.0.17: + - Now depends on kombu 2.5.8 + - Now depends on billiard 2.7.3.23 + - RabbitMQ/Redis: thread-less and lock-free rate-limit implementation. + This means that rate limits pose minimal overhead when used with + RabbitMQ/Redis or future transports using the eventloop, + and that the rate-limit implementation is now thread-less and lock-free. + The thread-based transports will still use the old implementation for + now, but the plan is to use the timer also for other + broker transports in Celery 3.1. + - Rate limits now works with eventlet/gevent if using RabbitMQ/Redis as the + broker. + - A regression caused task.retry to ignore additional keyword arguments. + Extra keyword arguments are now used as execution options again. + Fix contributed by Simon Engledew. + - Windows: Fixed problem with the worker trying to pickle the Django settings + module at worker startup. + - generic-init.d: No longer double quotes $CELERYD_CHDIR (Issue #1235). + - generic-init.d: Removes bash-specific syntax. + Fix contributed by Pär Wieslander. + - Cassandra Result Backend: Now handles the + pycassa.AllServersUnavailable error (Issue #1010). + Fix contributed by Jared Biel. + - Result: Now properly forwards apps to GroupResults when deserializing + (Issue #1249). + Fix contributed by Charles-Axel Dein. + - GroupResult.revoke now supports the terminate and signal + keyword arguments. + - Worker: Multiprocessing pool workers now import task modules/configuration + before setting up the logging system so that logging signals can be + connected before they're dispatched. + - chord: The AsyncResult instance returned now has its parent + attribute set to the header GroupResult. + This is consistent with how chain works. + +------------------------------------------------------------------- +Fri Mar 8 21:35:29 UTC 2013 - alexandre@exatati.com.br + +- Update to 3.0.16: + - Happy International Women's Day! + We have a long way to go, so this is a chance for you to get + involved in one of the organizations working for making our + communities more diverse. + - PyLadies — http://pyladies.com + - Girls Who Code — http://www.girlswhocode.com + - Women Who Code — http://www.meetup.com/Women-Who-Code-SF/ + - Now depends on :mod:`kombu` version 2.5.7 + - Now depends on :mod:`billiard` version 2.7.3.22 + - AMQP heartbeats are now disabled by default. + Some users experiences issues with heartbeats enabled, + and it's not strictly necessary to use them. + If you're experiencing problems detecting connection failures, + you can re-enable heartbeats by configuring the BROKER_HEARTBEAT + setting. + - Worker: Now propagates connection errors occurring in multiprocessing + callbacks, so that the connection can be reset (Issue #1226). + - Worker: Now propagates connection errors occurring in timer callbacks, + so that the connection can be reset. + - The modules in CELERY_IMPORTS and CELERY_INCLUDE + are now imported in the original order (Issue #1161). + The modules in CELERY_IMPORTS will be imported first, + then continued by CELERY_INCLUDE. + Thanks to Joey Wilhelm. + - New bash completion for celery available in the git repository: + https://github.com/celery/celery/tree/3.0/extra/bash-completion + You can source this file or put it in bash_completion.d to + get auto-completion for the celery command-line utility. + - The node name of a worker can now include unicode characters (Issue #1186). + - The repr of a crontab object now displays correctly (Issue #972). + - events.State no longer modifies the original event dictionary. + - No longer uses Logger.warn deprecated in Python 3. + - Cache Backend: Now works with chords again (Issue #1094). + - Chord unlock now handles errors occurring while calling the callback. + - Generic worker init.d script: Status check is now performed by + querying the pid of the instance instead of sending messages. + Contributed by Milen Pavlov. + - Improved init scripts for CentOS. + - Updated to support celery 3.x conventions. + - Now uses CentOS built-in status and killproc + - Support for multi-node / multi-pid worker services. + - Standard color-coded CentOS service-init output. + - A test suite. + Contributed by Milen Pavlov. + - ResultSet.join now always works with empty result set (Issue #1219). + - A group consisting of a single task is now supported (Issue #1219). + - Now supports the pycallgraph program (Issue #1051). + - Fixed Jython compatibility problems. + - Django tutorial: Now mentions that the example app must be added to + INSTALLED_APPS (Issue #1192). + +------------------------------------------------------------------- +Tue Feb 12 21:42:37 UTC 2013 - alexandre@exatati.com.br + +- Update to 3.0.15: + - Now depends on billiard 2.7.3.21 which fixed a syntax error crash. + - Fixed bug with CELERY_SEND_TASK_SENT_EVENT. + +------------------------------------------------------------------- +Fri Feb 8 20:10:26 UTC 2013 - alexandre@exatati.com.br + +- Update to 3.0.14: + - Now depends on Kombu 2.5.6 + - Now depends on billiard 2.7.3.20 + - execv is now disabled by default. + It was causing too many problems for users, you can still enable + it using the CELERYD_FORCE_EXECV setting. + execv was only enabled when transports other than amqp/redis was used, + and it's there to prevent deadlocks caused by mutexes not being released + before the process forks. Sadly it also changes the environment + introducing many corner case bugs that is hard to fix without adding + horrible hacks. Deadlock issues are reported far less often than the + bugs that execv are causing, so we now disable it by default. + Work is in motion to create non-blocking versions of these transports + so that execv is not necessary (which is the situation with the amqp + and redis broker transports) + - Chord exception behavior defined (Issue #1172). + From Celery 3.1 the chord callback will change state to FAILURE + when a task part of a chord raises an exception. + It was never documented what happens in this case, + and the actual behavior was very unsatisfactory, indeed + it will just forward the exception value to the chord callback. + For backward compatibility reasons we do not change to the new + behavior in a bugfix release, even if the current behavior was + never documented. Instead you can enable the + CELERY_CHORD_PROPAGATES setting to get the new behavior + that will be default from Celery 3.1. + See more at chord-errors. + - worker: Fixes bug with ignored and retried tasks. + The on_chord_part_return and Task.after_return callbacks, + nor the task_postrun signal should be called when the task was + retried/ignored. + Fix contributed by Vlad. + - GroupResult.join_native now respects the propagate argument. + - subtask.id added as an alias to subtask['options'].id + >>> s = add.s(2, 2) + >>> s.id = 'my-id' + >>> s['options'] + {'task_id': 'my-id'} + + >>> s.id + 'my-id' + - worker: Fixed error `Could not start worker processes` occurring + when restarting after connection failure (Issue #1118). + - Adds new signal task-retried (Issue #1169). + - `celery events --dumper` now handles connection loss. + - Will now retry sending the task-sent event in case of connection failure. + - amqp backend: Now uses Message.requeue instead of republishing + the message after poll. + - New BROKER_HEARTBEAT_CHECKRATE setting introduced to modify the + rate at which broker connection heartbeats are monitored. + The default value was also changed from 3.0 to 2.0. + - celery.events.state.State is now pickleable. + Fix contributed by Mher Movsisyan. + - celery.datastructures.LRUCache is now pickleable. + Fix contributed by Mher Movsisyan. + - The stats broadcast command now includes the workers pid. + Contributed by Mher Movsisyan. + - New conf remote control command to get a workers current configuration. + Contributed by Mher Movsisyan. + - Adds the ability to modify the chord unlock task's countdown + argument (Issue #1146). + Contributed by Jun Sakai + - beat: The scheduler now uses the now() method of the schedule, + so that schedules can provide a custom way to get the current date and time. + Contributed by Raphaël Slinckx + - Fixed pickling of configuration modules on Windows or when execv is used + (Issue #1126). + - Multiprocessing logger is now configured with loglevel ERROR + by default. + Since 3.0 the multiprocessing loggers were disabled by default + (only configured when the MP_LOG environment variable was set). + +------------------------------------------------------------------- +Mon Jan 7 16:34:24 UTC 2013 - alexandre@exatati.com.br + +- Update to 3.0.13: + - Now depends on Kombu 2.5 + - py-amqp has replaced amqplib as the default transport, + gaining support for AMQP 0.9, and the RabbitMQ extensions + including Consumer Cancel Notifications and heartbeats. + - support for multiple connection URLs for failover. + - Read more in the Kombu 2.5 changelog. + - Now depends on billiard 2.7.3.19 + - Fixed a deadlock issue that could occur when the producer pool + inherited the connection pool instance of the parent process. + - The --loader option now works again (Issue #1066). + - celery umbrella command: All subcommands now supports + the --workdir option (Issue #1063). + - Groups included in chains now give GroupResults (Issue #1057) + Previously it would incorrectly add a regular result instead of a group + result, but now this works: + + # [4 + 4, 4 + 8, 16 + 8] + >>> res = (add.s(2, 2) | group(add.s(4), add.s(8), add.s(16)))() + >>> res + + + - Chains can now chain other chains and use partial arguments (Issue #1057). + Example: + >>> c1 = (add.s(2) | add.s(4)) + >>> c2 = (add.s(8) | add.s(16)) + + >>> c3 = (c1 | c2) + + # 8 + 2 + 4 + 8 + 16 + >>> assert c3(8).get() == 38 + + - Subtasks can now be used with unregistered tasks. + You can specify subtasks even if you just have the name: + + >>> s = subtask(task_name, args=(), kwargs=()) + >>> s.delay() + + - The celery shell command now always adds the current + directory to the module path. + - The worker will now properly handle the pytz.AmbiguousTimeError + exception raised when an ETA/countdown is prepared while being in DST + transition (Issue #1061). + - force_execv: Now makes sure that task symbols in the original + task modules will always use the correct app instance (Issue #1072). + - AMQP Backend: Now republishes result messages that have been polled + (using result.ready() and friends, result.get() will not do this + in this version). + - Crontab schedule values can now "wrap around" + This means that values like ``11-1`` translates to ``[11, 12, 1]``. + Contributed by Loren Abrams. + - multi stopwait command now shows the pid of processes. + Contributed by Loren Abrams. + - Handling of ETA/countdown fixed when the CELERY_ENABLE_UTC + setting is disabled (Issue #1065). + - A number of uneeded properties were included in messages, + caused by accidentally passing Queue.as_dict as message properties. + - Rate limit values can now be float + This also extends the string format so that values like "0.5/s" works. + Contributed by Christoph Krybus + - Fixed a typo in the broadcast routing documentation (Issue #1026). + - Rewrote confusing section about idempotence in the task user guide. + - Fixed typo in the daemonization tutorial (Issue #1055). + - Fixed several typos in the documentation. + Contributed by Marius Gedminas. + - Batches: Now works when using the eventlet pool. + Fix contributed by Thomas Grainger. + - Batches: Added example sending results to celery.contrib.batches. + Contributed by Thomas Grainger. + - Mongodb backend: Connection max_pool_size can now be set in + CELERY_MONGODB_BACKEND_SETTINGS. + Contributed by Craig Younkins. + - Fixed problem when using earlier versions of pytz. + Fix contributed by Vlad. + - Docs updated to include the default value for the + CELERY_TASK_RESULT_EXPIRES setting. + - Improvements to the django-celery tutorial. + Contributed by Locker537. + - The add_consumer control command did not properly persist + the addition of new queues so that they survived connection failure + (Issue #1079). + +------------------------------------------------------------------- +Tue Nov 6 18:00:40 UTC 2012 - alexandre@exatati.com.br + +- Update to 3.0.12: + - Now depends on kombu 2.4.8 + - [Redis] New and improved fair queue cycle algorithm (Kevin McCarthy). + - [Redis] Now uses a Redis-based mutex when restoring messages. + - [Redis] Number of messages that can be restored in one interval is no + longer limited (but can be set using the + unacked_restore_limit + transport option .) + - Heartbeat value can be specified in broker URLs (Mher Movsisyan). + - Fixed problem with msgpack on Python 3 (Jasper Bryant-Greene). + - Now depends on billiard 2.7.3.18 + - Celery can now be used with static analysis tools like PyDev/PyCharm/pylint + etc. + - Development documentation has moved to Read The Docs. + The new URL is: http://docs.celeryproject.org/en/master + - New CELERY_QUEUE_HA_POLICY setting used to set the default + HA policy for queues when using RabbitMQ. + New method Task.subtask_from_request returns a subtask using the current + request. + - Results get_many method did not respect timeout argument. + Fix contributed by Remigiusz Modrzejewski + - generic_init.d scripts now support setting CELERY_CREATE_DIRS to + always create log and pid directories (Issue #1045). + This can be set in your /etc/default/celeryd. + - Fixed strange kombu import problem on Python 3.2 (Issue #1034). + - Worker: ETA scheduler now uses millisecond precision (Issue #1040). + - The --config argument to programs is now supported by all loaders. + - The CASSANDRA_OPTIONS setting has now been documented. + Contributed by Jared Biel. + - Task methods celery.contrib.methods cannot be used with the old + task base class, the task decorator in that module now inherits from the new. + - An optimization was too eager and caused some logging messages to never emit. + - celery.contrib.batches now works again. + - Fixed missing whitespace in bdist_rpm requirements (Issue #1046). + - Event state's tasks_by_name applied limit before filtering by name. + Fix contributed by Alexander A. Sosnovskiy. + ------------------------------------------------------------------- Wed Sep 26 17:42:49 UTC 2012 - alexandre@exatati.com.br diff --git a/python-celery.spec b/python-celery.spec index 89921d9..8762636 100644 --- a/python-celery.spec +++ b/python-celery.spec @@ -1,7 +1,7 @@ # # spec file for package python-celery # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: python-celery -Version: 3.0.11 +Version: 3.0.19 Release: 0 Url: http://celeryproject.org Summary: Distributed Task Queue @@ -33,7 +33,7 @@ BuildRequires: python-devel BuildRequires: python-distribute BuildRequires: python-eventlet BuildRequires: python-gevent -BuildRequires: python-kombu >= 2.4.7 +BuildRequires: python-kombu >= 2.5.10 BuildRequires: python-mock BuildRequires: python-nose-cover3 BuildRequires: python-pyOpenSSL @@ -41,13 +41,11 @@ BuildRequires: python-pyOpenSSL BuildRequires: python-importlib BuildRequires: python-ordereddict BuildRequires: python-unittest2 -# See changes entry from "Jun 6 17:31:29 UTC 2012": -# TODO/FIXME: Drop this as as soon as possible, d:l:p already has a newer kombu, -Conflicts: python-kombu >= 2.2.5 Requires: python-importlib Requires: python-ordereddict %endif Requires: python-anyjson +Requires: python-billiard >= 2.7.3.28 Requires: python-dateutil Recommends: python-curses Recommends: python-pyOpenSSL