15
0
forked from pool/python-celery

Accepting request 179748 from devel:languages:python

housekeeping sr, necessary due to split between d:l:p and d:l:p3 and (manual) _link removal in Factory.

OBS-URL: https://build.opensuse.org/request/show/179748
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-celery?expand=0&rev=8
This commit is contained in:
Stephan Kulow
2013-07-16 05:37:56 +00:00
committed by Git OBS Bridge
4 changed files with 410 additions and 9 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9aba922645e073955f1eeb5ccba4f3cfc2df119311fef7c543ff2c386f59f7a4
size 1134910

3
celery-3.0.19.tar.bz2 Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e5aa87403ffe532940c7bea673dbe715affecaecabaa9c4bf33da721a1303cde
size 1151120

View File

@@ -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
<GroupResult: a0acf905-c704-499e-b03a-8d445e6398f7 [
4346501c-cb99-4ad8-8577-12256c7a22b1,
b12ead10-a622-4d44-86e9-3193a778f345,
26c7a420-11f3-4b33-8fac-66cd3b62abfd]>
- 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 <BROKER_TRANSPORT_OPTIONS>.)
- 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

View File

@@ -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