Re-import the good tarball
This commit is contained in:
parent
615f69bcb5
commit
6324e01e34
|
@ -0,0 +1,455 @@
|
|||
Metadata-Version: 1.1
|
||||
Name: celery
|
||||
Version: 3.1.13
|
||||
Summary: Distributed Task Queue
|
||||
Home-page: http://celeryproject.org
|
||||
Author: Ask Solem
|
||||
Author-email: ask@celeryproject.org
|
||||
License: BSD
|
||||
Description: =================================
|
||||
celery - Distributed Task Queue
|
||||
=================================
|
||||
|
||||
.. image:: http://cloud.github.com/downloads/celery/celery/celery_128.png
|
||||
|
||||
:Version: 3.1.13 (Cipater)
|
||||
:Web: http://celeryproject.org/
|
||||
:Download: http://pypi.python.org/pypi/celery/
|
||||
:Source: http://github.com/celery/celery/
|
||||
:Keywords: task queue, job queue, asynchronous, async, rabbitmq, amqp, redis,
|
||||
python, webhooks, queue, distributed
|
||||
|
||||
--
|
||||
|
||||
What is a Task Queue?
|
||||
=====================
|
||||
|
||||
Task queues are used as a mechanism to distribute work across threads or
|
||||
machines.
|
||||
|
||||
A task queue's input is a unit of work, called a task, dedicated worker
|
||||
processes then constantly monitor the queue for new work to perform.
|
||||
|
||||
Celery communicates via messages, usually using a broker
|
||||
to mediate between clients and workers. To initiate a task a client puts a
|
||||
message on the queue, the broker then delivers the message to a worker.
|
||||
|
||||
A Celery system can consist of multiple workers and brokers, giving way
|
||||
to high availability and horizontal scaling.
|
||||
|
||||
Celery is a library written in Python, but the protocol can be implemented in
|
||||
any language. So far there's RCelery_ for the Ruby programming language, and a
|
||||
`PHP client`, but language interoperability can also be achieved
|
||||
by using webhooks.
|
||||
|
||||
.. _RCelery: http://leapfrogdevelopment.github.com/rcelery/
|
||||
.. _`PHP client`: https://github.com/gjedeer/celery-php
|
||||
.. _`using webhooks`:
|
||||
http://docs.celeryproject.org/en/latest/userguide/remote-tasks.html
|
||||
|
||||
What do I need?
|
||||
===============
|
||||
|
||||
Celery version 3.0 runs on,
|
||||
|
||||
- Python (2.5, 2.6, 2.7, 3.2, 3.3)
|
||||
- PyPy (1.8, 1.9)
|
||||
- Jython (2.5, 2.7).
|
||||
|
||||
This is the last version to support Python 2.5,
|
||||
and from Celery 3.1, Python 2.6 or later is required.
|
||||
The last version to support Python 2.4 was Celery series 2.2.
|
||||
|
||||
*Celery* is usually used with a message broker to send and receive messages.
|
||||
The RabbitMQ, Redis transports are feature complete,
|
||||
but there's also experimental support for a myriad of other solutions, including
|
||||
using SQLite for local development.
|
||||
|
||||
*Celery* can run on a single machine, on multiple machines, or even
|
||||
across datacenters.
|
||||
|
||||
Get Started
|
||||
===========
|
||||
|
||||
If this is the first time you're trying to use Celery, or you are
|
||||
new to Celery 3.0 coming from previous versions then you should read our
|
||||
getting started tutorials:
|
||||
|
||||
- `First steps with Celery`_
|
||||
|
||||
Tutorial teaching you the bare minimum needed to get started with Celery.
|
||||
|
||||
- `Next steps`_
|
||||
|
||||
A more complete overview, showing more features.
|
||||
|
||||
.. _`First steps with Celery`:
|
||||
http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html
|
||||
|
||||
.. _`Next steps`:
|
||||
http://docs.celeryproject.org/en/latest/getting-started/next-steps.html
|
||||
|
||||
Celery is...
|
||||
============
|
||||
|
||||
- **Simple**
|
||||
|
||||
Celery is easy to use and maintain, and does *not need configuration files*.
|
||||
|
||||
It has an active, friendly community you can talk to for support,
|
||||
including a `mailing-list`_ and and an IRC channel.
|
||||
|
||||
Here's one of the simplest applications you can make::
|
||||
|
||||
from celery import Celery
|
||||
|
||||
app = Celery('hello', broker='amqp://guest@localhost//')
|
||||
|
||||
@app.task
|
||||
def hello():
|
||||
return 'hello world'
|
||||
|
||||
- **Highly Available**
|
||||
|
||||
Workers and clients will automatically retry in the event
|
||||
of connection loss or failure, and some brokers support
|
||||
HA in way of *Master/Master* or *Master/Slave* replication.
|
||||
|
||||
- **Fast**
|
||||
|
||||
A single Celery process can process millions of tasks a minute,
|
||||
with sub-millisecond round-trip latency (using RabbitMQ,
|
||||
py-librabbitmq, and optimized settings).
|
||||
|
||||
- **Flexible**
|
||||
|
||||
Almost every part of *Celery* can be extended or used on its own,
|
||||
Custom pool implementations, serializers, compression schemes, logging,
|
||||
schedulers, consumers, producers, autoscalers, broker transports and much more.
|
||||
|
||||
It supports...
|
||||
==============
|
||||
|
||||
- **Message Transports**
|
||||
|
||||
- RabbitMQ_, Redis_,
|
||||
- MongoDB_ (experimental), Amazon SQS (experimental),
|
||||
- CouchDB_ (experimental), SQLAlchemy_ (experimental),
|
||||
- Django ORM (experimental), `IronMQ`_
|
||||
- and more...
|
||||
|
||||
- **Concurrency**
|
||||
|
||||
- Prefork, Eventlet_, gevent_, threads/single threaded
|
||||
|
||||
- **Result Stores**
|
||||
|
||||
- AMQP, Redis
|
||||
- memcached, MongoDB
|
||||
- SQLAlchemy, Django ORM
|
||||
- Apache Cassandra, IronCache
|
||||
|
||||
- **Serialization**
|
||||
|
||||
- *pickle*, *json*, *yaml*, *msgpack*.
|
||||
- *zlib*, *bzip2* compression.
|
||||
- Cryptographic message signing.
|
||||
|
||||
.. _`Eventlet`: http://eventlet.net/
|
||||
.. _`gevent`: http://gevent.org/
|
||||
|
||||
.. _RabbitMQ: http://rabbitmq.com
|
||||
.. _Redis: http://redis.io
|
||||
.. _MongoDB: http://mongodb.org
|
||||
.. _Beanstalk: http://kr.github.com/beanstalkd
|
||||
.. _CouchDB: http://couchdb.apache.org
|
||||
.. _SQLAlchemy: http://sqlalchemy.org
|
||||
.. _`IronMQ`: http://iron.io
|
||||
|
||||
Framework Integration
|
||||
=====================
|
||||
|
||||
Celery is easy to integrate with web frameworks, some of which even have
|
||||
integration packages:
|
||||
|
||||
+--------------------+------------------------+
|
||||
| `Django`_ | not needed |
|
||||
+--------------------+------------------------+
|
||||
| `Pyramid`_ | `pyramid_celery`_ |
|
||||
+--------------------+------------------------+
|
||||
| `Pylons`_ | `celery-pylons`_ |
|
||||
+--------------------+------------------------+
|
||||
| `Flask`_ | not needed |
|
||||
+--------------------+------------------------+
|
||||
| `web2py`_ | `web2py-celery`_ |
|
||||
+--------------------+------------------------+
|
||||
| `Tornado`_ | `tornado-celery`_ |
|
||||
+--------------------+------------------------+
|
||||
|
||||
The integration packages are not strictly necessary, but they can make
|
||||
development easier, and sometimes they add important hooks like closing
|
||||
database connections at ``fork``.
|
||||
|
||||
.. _`Django`: http://djangoproject.com/
|
||||
.. _`Pylons`: http://pylonshq.com/
|
||||
.. _`Flask`: http://flask.pocoo.org/
|
||||
.. _`web2py`: http://web2py.com/
|
||||
.. _`Bottle`: http://bottlepy.org/
|
||||
.. _`Pyramid`: http://docs.pylonsproject.org/en/latest/docs/pyramid.html
|
||||
.. _`pyramid_celery`: http://pypi.python.org/pypi/pyramid_celery/
|
||||
.. _`django-celery`: http://pypi.python.org/pypi/django-celery
|
||||
.. _`celery-pylons`: http://pypi.python.org/pypi/celery-pylons
|
||||
.. _`web2py-celery`: http://code.google.com/p/web2py-celery/
|
||||
.. _`Tornado`: http://www.tornadoweb.org/
|
||||
.. _`tornado-celery`: http://github.com/mher/tornado-celery/
|
||||
|
||||
.. _celery-documentation:
|
||||
|
||||
Documentation
|
||||
=============
|
||||
|
||||
The `latest documentation`_ with user guides, tutorials and API reference
|
||||
is hosted at Read The Docs.
|
||||
|
||||
.. _`latest documentation`: http://docs.celeryproject.org/en/latest/
|
||||
|
||||
.. _celery-installation:
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
You can install Celery either via the Python Package Index (PyPI)
|
||||
or from source.
|
||||
|
||||
To install using `pip`,::
|
||||
|
||||
$ pip install -U Celery
|
||||
|
||||
To install using `easy_install`,::
|
||||
|
||||
$ easy_install -U Celery
|
||||
|
||||
.. _bundles:
|
||||
|
||||
Bundles
|
||||
-------
|
||||
|
||||
Celery also defines a group of bundles that can be used
|
||||
to install Celery and the dependencies for a given feature.
|
||||
|
||||
You can specify these in your requirements or on the ``pip`` comand-line
|
||||
by using brackets. Multiple bundles can be specified by separating them by
|
||||
commas.
|
||||
::
|
||||
|
||||
$ pip install "celery[librabbitmq]"
|
||||
|
||||
$ pip install "celery[librabbitmq,redis,auth,msgpack]"
|
||||
|
||||
The following bundles are available:
|
||||
|
||||
Serializers
|
||||
~~~~~~~~~~~
|
||||
|
||||
:celery[auth]:
|
||||
for using the auth serializer.
|
||||
|
||||
:celery[msgpack]:
|
||||
for using the msgpack serializer.
|
||||
|
||||
:celery[yaml]:
|
||||
for using the yaml serializer.
|
||||
|
||||
Concurrency
|
||||
~~~~~~~~~~~
|
||||
|
||||
:celery[eventlet]:
|
||||
for using the eventlet pool.
|
||||
|
||||
:celery[gevent]:
|
||||
for using the gevent pool.
|
||||
|
||||
:celery[threads]:
|
||||
for using the thread pool.
|
||||
|
||||
Transports and Backends
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
:celery[librabbitmq]:
|
||||
for using the librabbitmq C library.
|
||||
|
||||
:celery[redis]:
|
||||
for using Redis as a message transport or as a result backend.
|
||||
|
||||
:celery[mongodb]:
|
||||
for using MongoDB as a message transport (*experimental*),
|
||||
or as a result backend (*supported*).
|
||||
|
||||
:celery[sqs]:
|
||||
for using Amazon SQS as a message transport (*experimental*).
|
||||
|
||||
:celery[memcache]:
|
||||
for using memcached as a result backend.
|
||||
|
||||
:celery[cassandra]:
|
||||
for using Apache Cassandra as a result backend.
|
||||
|
||||
:celery[couchdb]:
|
||||
for using CouchDB as a message transport (*experimental*).
|
||||
|
||||
:celery[couchbase]:
|
||||
for using CouchBase as a result backend.
|
||||
|
||||
:celery[beanstalk]:
|
||||
for using Beanstalk as a message transport (*experimental*).
|
||||
|
||||
:celery[zookeeper]:
|
||||
for using Zookeeper as a message transport.
|
||||
|
||||
:celery[zeromq]:
|
||||
for using ZeroMQ as a message transport (*experimental*).
|
||||
|
||||
:celery[sqlalchemy]:
|
||||
for using SQLAlchemy as a message transport (*experimental*),
|
||||
or as a result backend (*supported*).
|
||||
|
||||
:celery[pyro]:
|
||||
for using the Pyro4 message transport (*experimental*).
|
||||
|
||||
:celery[slmq]:
|
||||
for using the SoftLayer Message Queue transport (*experimental*).
|
||||
|
||||
.. _celery-installing-from-source:
|
||||
|
||||
Downloading and installing from source
|
||||
--------------------------------------
|
||||
|
||||
Download the latest version of Celery from
|
||||
http://pypi.python.org/pypi/celery/
|
||||
|
||||
You can install it by doing the following,::
|
||||
|
||||
$ tar xvfz celery-0.0.0.tar.gz
|
||||
$ cd celery-0.0.0
|
||||
$ python setup.py build
|
||||
# python setup.py install
|
||||
|
||||
The last command must be executed as a privileged user if
|
||||
you are not currently using a virtualenv.
|
||||
|
||||
.. _celery-installing-from-git:
|
||||
|
||||
Using the development version
|
||||
-----------------------------
|
||||
|
||||
With pip
|
||||
~~~~~~~~
|
||||
|
||||
The Celery development version also requires the development
|
||||
versions of ``kombu``, ``amqp`` and ``billiard``.
|
||||
|
||||
You can install the latest snapshot of these using the following
|
||||
pip commands::
|
||||
|
||||
$ pip install https://github.com/celery/celery/zipball/master#egg=celery
|
||||
$ pip install https://github.com/celery/billiard/zipball/master#egg=billiard
|
||||
$ pip install https://github.com/celery/py-amqp/zipball/master#egg=amqp
|
||||
$ pip install https://github.com/celery/kombu/zipball/master#egg=kombu
|
||||
|
||||
With git
|
||||
~~~~~~~~
|
||||
|
||||
Please the Contributing section.
|
||||
|
||||
.. _getting-help:
|
||||
|
||||
Getting Help
|
||||
============
|
||||
|
||||
.. _mailing-list:
|
||||
|
||||
Mailing list
|
||||
------------
|
||||
|
||||
For discussions about the usage, development, and future of celery,
|
||||
please join the `celery-users`_ mailing list.
|
||||
|
||||
.. _`celery-users`: http://groups.google.com/group/celery-users/
|
||||
|
||||
.. _irc-channel:
|
||||
|
||||
IRC
|
||||
---
|
||||
|
||||
Come chat with us on IRC. The **#celery** channel is located at the `Freenode`_
|
||||
network.
|
||||
|
||||
.. _`Freenode`: http://freenode.net
|
||||
|
||||
.. _bug-tracker:
|
||||
|
||||
Bug tracker
|
||||
===========
|
||||
|
||||
If you have any suggestions, bug reports or annoyances please report them
|
||||
to our issue tracker at http://github.com/celery/celery/issues/
|
||||
|
||||
.. _wiki:
|
||||
|
||||
Wiki
|
||||
====
|
||||
|
||||
http://wiki.github.com/celery/celery/
|
||||
|
||||
.. _contributing-short:
|
||||
|
||||
Contributing
|
||||
============
|
||||
|
||||
Development of `celery` happens at Github: http://github.com/celery/celery
|
||||
|
||||
You are highly encouraged to participate in the development
|
||||
of `celery`. If you don't like Github (for some reason) you're welcome
|
||||
to send regular patches.
|
||||
|
||||
Be sure to also read the `Contributing to Celery`_ section in the
|
||||
documentation.
|
||||
|
||||
.. _`Contributing to Celery`:
|
||||
http://docs.celeryproject.org/en/master/contributing.html
|
||||
|
||||
.. _license:
|
||||
|
||||
License
|
||||
=======
|
||||
|
||||
This software is licensed under the `New BSD License`. See the ``LICENSE``
|
||||
file in the top distribution directory for the full license text.
|
||||
|
||||
.. # vim: syntax=rst expandtab tabstop=4 shiftwidth=4 shiftround
|
||||
|
||||
|
||||
.. image:: https://d2weczhvl823v0.cloudfront.net/celery/celery/trend.png
|
||||
:alt: Bitdeli badge
|
||||
:target: https://bitdeli.com/free
|
||||
|
||||
|
||||
Platform: any
|
||||
Classifier: Development Status :: 5 - Production/Stable
|
||||
Classifier: License :: OSI Approved :: BSD License
|
||||
Classifier: Topic :: System :: Distributed Computing
|
||||
Classifier: Topic :: Software Development :: Object Brokering
|
||||
Classifier: Programming Language :: Python
|
||||
Classifier: Programming Language :: Python :: 2
|
||||
Classifier: Programming Language :: Python :: 2.6
|
||||
Classifier: Programming Language :: Python :: 2.7
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3.3
|
||||
Classifier: Programming Language :: Python :: 3.4
|
||||
Classifier: Programming Language :: Python :: Implementation :: CPython
|
||||
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
||||
Classifier: Programming Language :: Python :: Implementation :: Jython
|
||||
Classifier: Operating System :: OS Independent
|
||||
Classifier: Operating System :: POSIX
|
||||
Classifier: Operating System :: Microsoft :: Windows
|
||||
Classifier: Operating System :: MacOS :: MacOS X
|
|
@ -0,0 +1,535 @@
|
|||
CONTRIBUTORS.txt
|
||||
Changelog
|
||||
LICENSE
|
||||
MANIFEST.in
|
||||
README.rst
|
||||
TODO
|
||||
setup.cfg
|
||||
setup.py
|
||||
celery/__init__.py
|
||||
celery/__main__.py
|
||||
celery/_state.py
|
||||
celery/beat.py
|
||||
celery/bootsteps.py
|
||||
celery/canvas.py
|
||||
celery/datastructures.py
|
||||
celery/exceptions.py
|
||||
celery/five.py
|
||||
celery/local.py
|
||||
celery/platforms.py
|
||||
celery/result.py
|
||||
celery/schedules.py
|
||||
celery/signals.py
|
||||
celery/states.py
|
||||
celery.egg-info/PKG-INFO
|
||||
celery.egg-info/SOURCES.txt
|
||||
celery.egg-info/dependency_links.txt
|
||||
celery.egg-info/entry_points.txt
|
||||
celery.egg-info/not-zip-safe
|
||||
celery.egg-info/requires.txt
|
||||
celery.egg-info/top_level.txt
|
||||
celery/app/__init__.py
|
||||
celery/app/amqp.py
|
||||
celery/app/annotations.py
|
||||
celery/app/base.py
|
||||
celery/app/builtins.py
|
||||
celery/app/control.py
|
||||
celery/app/defaults.py
|
||||
celery/app/log.py
|
||||
celery/app/registry.py
|
||||
celery/app/routes.py
|
||||
celery/app/task.py
|
||||
celery/app/trace.py
|
||||
celery/app/utils.py
|
||||
celery/apps/__init__.py
|
||||
celery/apps/beat.py
|
||||
celery/apps/worker.py
|
||||
celery/backends/__init__.py
|
||||
celery/backends/amqp.py
|
||||
celery/backends/base.py
|
||||
celery/backends/cache.py
|
||||
celery/backends/cassandra.py
|
||||
celery/backends/couchbase.py
|
||||
celery/backends/mongodb.py
|
||||
celery/backends/redis.py
|
||||
celery/backends/rpc.py
|
||||
celery/backends/database/__init__.py
|
||||
celery/backends/database/models.py
|
||||
celery/backends/database/session.py
|
||||
celery/bin/__init__.py
|
||||
celery/bin/amqp.py
|
||||
celery/bin/base.py
|
||||
celery/bin/beat.py
|
||||
celery/bin/celery.py
|
||||
celery/bin/celeryd_detach.py
|
||||
celery/bin/events.py
|
||||
celery/bin/graph.py
|
||||
celery/bin/multi.py
|
||||
celery/bin/worker.py
|
||||
celery/concurrency/__init__.py
|
||||
celery/concurrency/asynpool.py
|
||||
celery/concurrency/base.py
|
||||
celery/concurrency/eventlet.py
|
||||
celery/concurrency/gevent.py
|
||||
celery/concurrency/prefork.py
|
||||
celery/concurrency/solo.py
|
||||
celery/concurrency/threads.py
|
||||
celery/contrib/__init__.py
|
||||
celery/contrib/abortable.py
|
||||
celery/contrib/batches.py
|
||||
celery/contrib/methods.py
|
||||
celery/contrib/migrate.py
|
||||
celery/contrib/rdb.py
|
||||
celery/contrib/sphinx.py
|
||||
celery/events/__init__.py
|
||||
celery/events/cursesmon.py
|
||||
celery/events/dumper.py
|
||||
celery/events/snapshot.py
|
||||
celery/events/state.py
|
||||
celery/fixups/__init__.py
|
||||
celery/fixups/django.py
|
||||
celery/loaders/__init__.py
|
||||
celery/loaders/app.py
|
||||
celery/loaders/base.py
|
||||
celery/loaders/default.py
|
||||
celery/security/__init__.py
|
||||
celery/security/certificate.py
|
||||
celery/security/key.py
|
||||
celery/security/serialization.py
|
||||
celery/security/utils.py
|
||||
celery/task/__init__.py
|
||||
celery/task/base.py
|
||||
celery/task/http.py
|
||||
celery/task/sets.py
|
||||
celery/task/trace.py
|
||||
celery/tests/__init__.py
|
||||
celery/tests/case.py
|
||||
celery/tests/app/__init__.py
|
||||
celery/tests/app/test_amqp.py
|
||||
celery/tests/app/test_annotations.py
|
||||
celery/tests/app/test_app.py
|
||||
celery/tests/app/test_beat.py
|
||||
celery/tests/app/test_builtins.py
|
||||
celery/tests/app/test_celery.py
|
||||
celery/tests/app/test_control.py
|
||||
celery/tests/app/test_defaults.py
|
||||
celery/tests/app/test_exceptions.py
|
||||
celery/tests/app/test_loaders.py
|
||||
celery/tests/app/test_log.py
|
||||
celery/tests/app/test_registry.py
|
||||
celery/tests/app/test_routes.py
|
||||
celery/tests/app/test_schedules.py
|
||||
celery/tests/app/test_utils.py
|
||||
celery/tests/backends/__init__.py
|
||||
celery/tests/backends/test_amqp.py
|
||||
celery/tests/backends/test_backends.py
|
||||
celery/tests/backends/test_base.py
|
||||
celery/tests/backends/test_cache.py
|
||||
celery/tests/backends/test_cassandra.py
|
||||
celery/tests/backends/test_couchbase.py
|
||||
celery/tests/backends/test_database.py
|
||||
celery/tests/backends/test_mongodb.py
|
||||
celery/tests/backends/test_redis.py
|
||||
celery/tests/backends/test_rpc.py
|
||||
celery/tests/bin/__init__.py
|
||||
celery/tests/bin/test_amqp.py
|
||||
celery/tests/bin/test_base.py
|
||||
celery/tests/bin/test_beat.py
|
||||
celery/tests/bin/test_celery.py
|
||||
celery/tests/bin/test_celeryd_detach.py
|
||||
celery/tests/bin/test_celeryevdump.py
|
||||
celery/tests/bin/test_events.py
|
||||
celery/tests/bin/test_multi.py
|
||||
celery/tests/bin/test_worker.py
|
||||
celery/tests/bin/proj/__init__.py
|
||||
celery/tests/bin/proj/app.py
|
||||
celery/tests/compat_modules/__init__.py
|
||||
celery/tests/compat_modules/test_compat.py
|
||||
celery/tests/compat_modules/test_compat_utils.py
|
||||
celery/tests/compat_modules/test_decorators.py
|
||||
celery/tests/compat_modules/test_http.py
|
||||
celery/tests/compat_modules/test_messaging.py
|
||||
celery/tests/compat_modules/test_sets.py
|
||||
celery/tests/concurrency/__init__.py
|
||||
celery/tests/concurrency/test_concurrency.py
|
||||
celery/tests/concurrency/test_eventlet.py
|
||||
celery/tests/concurrency/test_gevent.py
|
||||
celery/tests/concurrency/test_pool.py
|
||||
celery/tests/concurrency/test_prefork.py
|
||||
celery/tests/concurrency/test_solo.py
|
||||
celery/tests/concurrency/test_threads.py
|
||||
celery/tests/contrib/__init__.py
|
||||
celery/tests/contrib/test_abortable.py
|
||||
celery/tests/contrib/test_methods.py
|
||||
celery/tests/contrib/test_migrate.py
|
||||
celery/tests/contrib/test_rdb.py
|
||||
celery/tests/events/__init__.py
|
||||
celery/tests/events/test_cursesmon.py
|
||||
celery/tests/events/test_events.py
|
||||
celery/tests/events/test_snapshot.py
|
||||
celery/tests/events/test_state.py
|
||||
celery/tests/fixups/__init__.py
|
||||
celery/tests/fixups/test_django.py
|
||||
celery/tests/functional/__init__.py
|
||||
celery/tests/functional/case.py
|
||||
celery/tests/functional/tasks.py
|
||||
celery/tests/security/__init__.py
|
||||
celery/tests/security/case.py
|
||||
celery/tests/security/test_certificate.py
|
||||
celery/tests/security/test_key.py
|
||||
celery/tests/security/test_security.py
|
||||
celery/tests/security/test_serialization.py
|
||||
celery/tests/slow/__init__.py
|
||||
celery/tests/tasks/__init__.py
|
||||
celery/tests/tasks/test_canvas.py
|
||||
celery/tests/tasks/test_chord.py
|
||||
celery/tests/tasks/test_context.py
|
||||
celery/tests/tasks/test_result.py
|
||||
celery/tests/tasks/test_states.py
|
||||
celery/tests/tasks/test_tasks.py
|
||||
celery/tests/tasks/test_trace.py
|
||||
celery/tests/utils/__init__.py
|
||||
celery/tests/utils/test_datastructures.py
|
||||
celery/tests/utils/test_dispatcher.py
|
||||
celery/tests/utils/test_encoding.py
|
||||
celery/tests/utils/test_functional.py
|
||||
celery/tests/utils/test_imports.py
|
||||
celery/tests/utils/test_local.py
|
||||
celery/tests/utils/test_mail.py
|
||||
celery/tests/utils/test_pickle.py
|
||||
celery/tests/utils/test_platforms.py
|
||||
celery/tests/utils/test_saferef.py
|
||||
celery/tests/utils/test_serialization.py
|
||||
celery/tests/utils/test_sysinfo.py
|
||||
celery/tests/utils/test_term.py
|
||||
celery/tests/utils/test_text.py
|
||||
celery/tests/utils/test_threads.py
|
||||
celery/tests/utils/test_timer2.py
|
||||
celery/tests/utils/test_timeutils.py
|
||||
celery/tests/utils/test_utils.py
|
||||
celery/tests/worker/__init__.py
|
||||
celery/tests/worker/test_autoreload.py
|
||||
celery/tests/worker/test_autoscale.py
|
||||
celery/tests/worker/test_bootsteps.py
|
||||
celery/tests/worker/test_components.py
|
||||
celery/tests/worker/test_consumer.py
|
||||
celery/tests/worker/test_control.py
|
||||
celery/tests/worker/test_heartbeat.py
|
||||
celery/tests/worker/test_hub.py
|
||||
celery/tests/worker/test_loops.py
|
||||
celery/tests/worker/test_request.py
|
||||
celery/tests/worker/test_revoke.py
|
||||
celery/tests/worker/test_state.py
|
||||
celery/tests/worker/test_strategy.py
|
||||
celery/tests/worker/test_worker.py
|
||||
celery/utils/__init__.py
|
||||
celery/utils/compat.py
|
||||
celery/utils/debug.py
|
||||
celery/utils/encoding.py
|
||||
celery/utils/functional.py
|
||||
celery/utils/imports.py
|
||||
celery/utils/iso8601.py
|
||||
celery/utils/log.py
|
||||
celery/utils/mail.py
|
||||
celery/utils/objects.py
|
||||
celery/utils/serialization.py
|
||||
celery/utils/sysinfo.py
|
||||
celery/utils/term.py
|
||||
celery/utils/text.py
|
||||
celery/utils/threads.py
|
||||
celery/utils/timer2.py
|
||||
celery/utils/timeutils.py
|
||||
celery/utils/dispatch/__init__.py
|
||||
celery/utils/dispatch/saferef.py
|
||||
celery/utils/dispatch/signal.py
|
||||
celery/worker/__init__.py
|
||||
celery/worker/autoreload.py
|
||||
celery/worker/autoscale.py
|
||||
celery/worker/components.py
|
||||
celery/worker/consumer.py
|
||||
celery/worker/control.py
|
||||
celery/worker/heartbeat.py
|
||||
celery/worker/job.py
|
||||
celery/worker/loops.py
|
||||
celery/worker/pidbox.py
|
||||
celery/worker/state.py
|
||||
celery/worker/strategy.py
|
||||
docs/AUTHORS.txt
|
||||
docs/Makefile
|
||||
docs/THANKS
|
||||
docs/changelog.rst
|
||||
docs/community.rst
|
||||
docs/conf.py
|
||||
docs/configuration.rst
|
||||
docs/contributing.rst
|
||||
docs/copyright.rst
|
||||
docs/faq.rst
|
||||
docs/glossary.rst
|
||||
docs/index.rst
|
||||
docs/whatsnew-2.5.rst
|
||||
docs/whatsnew-3.0.rst
|
||||
docs/whatsnew-3.1.rst
|
||||
docs/.static/.keep
|
||||
docs/.templates/page.html
|
||||
docs/.templates/sidebarintro.html
|
||||
docs/.templates/sidebarlogo.html
|
||||
docs/_ext/applyxrefs.py
|
||||
docs/_ext/celerydocs.py
|
||||
docs/_ext/githubsphinx.py
|
||||
docs/_ext/literals_to_xrefs.py
|
||||
docs/_theme/celery/theme.conf
|
||||
docs/_theme/celery/static/celery.css_t
|
||||
docs/django/first-steps-with-django.rst
|
||||
docs/django/index.rst
|
||||
docs/getting-started/first-steps-with-celery.rst
|
||||
docs/getting-started/index.rst
|
||||
docs/getting-started/introduction.rst
|
||||
docs/getting-started/next-steps.rst
|
||||
docs/getting-started/resources.rst
|
||||
docs/getting-started/brokers/beanstalk.rst
|
||||
docs/getting-started/brokers/couchdb.rst
|
||||
docs/getting-started/brokers/django.rst
|
||||
docs/getting-started/brokers/index.rst
|
||||
docs/getting-started/brokers/ironmq.rst
|
||||
docs/getting-started/brokers/mongodb.rst
|
||||
docs/getting-started/brokers/rabbitmq.rst
|
||||
docs/getting-started/brokers/redis.rst
|
||||
docs/getting-started/brokers/sqlalchemy.rst
|
||||
docs/getting-started/brokers/sqs.rst
|
||||
docs/history/changelog-1.0.rst
|
||||
docs/history/changelog-2.0.rst
|
||||
docs/history/changelog-2.1.rst
|
||||
docs/history/changelog-2.2.rst
|
||||
docs/history/changelog-2.3.rst
|
||||
docs/history/changelog-2.4.rst
|
||||
docs/history/changelog-2.5.rst
|
||||
docs/history/changelog-3.0.rst
|
||||
docs/history/index.rst
|
||||
docs/images/celery_128.png
|
||||
docs/images/celery_512.png
|
||||
docs/images/celeryevshotsm.jpg
|
||||
docs/images/dashboard.png
|
||||
docs/images/monitor.png
|
||||
docs/images/result_graph.png
|
||||
docs/images/worker_graph_full.png
|
||||
docs/includes/installation.txt
|
||||
docs/includes/introduction.txt
|
||||
docs/includes/resources.txt
|
||||
docs/internals/app-overview.rst
|
||||
docs/internals/deprecation.rst
|
||||
docs/internals/guide.rst
|
||||
docs/internals/index.rst
|
||||
docs/internals/protocol.rst
|
||||
docs/internals/protov2.rst
|
||||
docs/internals/worker.rst
|
||||
docs/internals/reference/celery._state.rst
|
||||
docs/internals/reference/celery.app.annotations.rst
|
||||
docs/internals/reference/celery.app.routes.rst
|
||||
docs/internals/reference/celery.app.trace.rst
|
||||
docs/internals/reference/celery.backends.amqp.rst
|
||||
docs/internals/reference/celery.backends.base.rst
|
||||
docs/internals/reference/celery.backends.cache.rst
|
||||
docs/internals/reference/celery.backends.cassandra.rst
|
||||
docs/internals/reference/celery.backends.couchbase.rst
|
||||
docs/internals/reference/celery.backends.database.models.rst
|
||||
docs/internals/reference/celery.backends.database.rst
|
||||
docs/internals/reference/celery.backends.database.session.rst
|
||||
docs/internals/reference/celery.backends.mongodb.rst
|
||||
docs/internals/reference/celery.backends.redis.rst
|
||||
docs/internals/reference/celery.backends.rpc.rst
|
||||
docs/internals/reference/celery.backends.rst
|
||||
docs/internals/reference/celery.concurrency.base.rst
|
||||
docs/internals/reference/celery.concurrency.eventlet.rst
|
||||
docs/internals/reference/celery.concurrency.gevent.rst
|
||||
docs/internals/reference/celery.concurrency.prefork.rst
|
||||
docs/internals/reference/celery.concurrency.rst
|
||||
docs/internals/reference/celery.concurrency.solo.rst
|
||||
docs/internals/reference/celery.concurrency.threads.rst
|
||||
docs/internals/reference/celery.datastructures.rst
|
||||
docs/internals/reference/celery.events.cursesmon.rst
|
||||
docs/internals/reference/celery.events.dumper.rst
|
||||
docs/internals/reference/celery.events.snapshot.rst
|
||||
docs/internals/reference/celery.platforms.rst
|
||||
docs/internals/reference/celery.security.certificate.rst
|
||||
docs/internals/reference/celery.security.key.rst
|
||||
docs/internals/reference/celery.security.serialization.rst
|
||||
docs/internals/reference/celery.security.utils.rst
|
||||
docs/internals/reference/celery.utils.compat.rst
|
||||
docs/internals/reference/celery.utils.dispatch.rst
|
||||
docs/internals/reference/celery.utils.dispatch.saferef.rst
|
||||
docs/internals/reference/celery.utils.dispatch.signal.rst
|
||||
docs/internals/reference/celery.utils.functional.rst
|
||||
docs/internals/reference/celery.utils.imports.rst
|
||||
docs/internals/reference/celery.utils.iso8601.rst
|
||||
docs/internals/reference/celery.utils.log.rst
|
||||
docs/internals/reference/celery.utils.objects.rst
|
||||
docs/internals/reference/celery.utils.rst
|
||||
docs/internals/reference/celery.utils.serialization.rst
|
||||
docs/internals/reference/celery.utils.sysinfo.rst
|
||||
docs/internals/reference/celery.utils.term.rst
|
||||
docs/internals/reference/celery.utils.text.rst
|
||||
docs/internals/reference/celery.utils.threads.rst
|
||||
docs/internals/reference/celery.utils.timer2.rst
|
||||
docs/internals/reference/celery.utils.timeutils.rst
|
||||
docs/internals/reference/celery.worker.autoreload.rst
|
||||
docs/internals/reference/celery.worker.autoscale.rst
|
||||
docs/internals/reference/celery.worker.components.rst
|
||||
docs/internals/reference/celery.worker.control.rst
|
||||
docs/internals/reference/celery.worker.heartbeat.rst
|
||||
docs/internals/reference/celery.worker.loops.rst
|
||||
docs/internals/reference/celery.worker.pidbox.rst
|
||||
docs/internals/reference/index.rst
|
||||
docs/reference/celery.app.amqp.rst
|
||||
docs/reference/celery.app.builtins.rst
|
||||
docs/reference/celery.app.control.rst
|
||||
docs/reference/celery.app.defaults.rst
|
||||
docs/reference/celery.app.log.rst
|
||||
docs/reference/celery.app.registry.rst
|
||||
docs/reference/celery.app.rst
|
||||
docs/reference/celery.app.task.rst
|
||||
docs/reference/celery.app.utils.rst
|
||||
docs/reference/celery.apps.beat.rst
|
||||
docs/reference/celery.apps.worker.rst
|
||||
docs/reference/celery.beat.rst
|
||||
docs/reference/celery.bin.amqp.rst
|
||||
docs/reference/celery.bin.base.rst
|
||||
docs/reference/celery.bin.beat.rst
|
||||
docs/reference/celery.bin.celery.rst
|
||||
docs/reference/celery.bin.events.rst
|
||||
docs/reference/celery.bin.graph.rst
|
||||
docs/reference/celery.bin.multi.rst
|
||||
docs/reference/celery.bin.worker.rst
|
||||
docs/reference/celery.bootsteps.rst
|
||||
docs/reference/celery.contrib.abortable.rst
|
||||
docs/reference/celery.contrib.batches.rst
|
||||
docs/reference/celery.contrib.methods.rst
|
||||
docs/reference/celery.contrib.migrate.rst
|
||||
docs/reference/celery.contrib.rdb.rst
|
||||
docs/reference/celery.contrib.sphinx.rst
|
||||
docs/reference/celery.events.rst
|
||||
docs/reference/celery.events.state.rst
|
||||
docs/reference/celery.exceptions.rst
|
||||
docs/reference/celery.loaders.app.rst
|
||||
docs/reference/celery.loaders.base.rst
|
||||
docs/reference/celery.loaders.default.rst
|
||||
docs/reference/celery.loaders.rst
|
||||
docs/reference/celery.result.rst
|
||||
docs/reference/celery.rst
|
||||
docs/reference/celery.schedules.rst
|
||||
docs/reference/celery.security.rst
|
||||
docs/reference/celery.signals.rst
|
||||
docs/reference/celery.states.rst
|
||||
docs/reference/celery.task.http.rst
|
||||
docs/reference/celery.utils.debug.rst
|
||||
docs/reference/celery.utils.mail.rst
|
||||
docs/reference/celery.worker.consumer.rst
|
||||
docs/reference/celery.worker.job.rst
|
||||
docs/reference/celery.worker.rst
|
||||
docs/reference/celery.worker.state.rst
|
||||
docs/reference/celery.worker.strategy.rst
|
||||
docs/reference/index.rst
|
||||
docs/sec/CELERYSA-0001.txt
|
||||
docs/sec/CELERYSA-0002.txt
|
||||
docs/templates/readme.txt
|
||||
docs/tutorials/daemonizing.rst
|
||||
docs/tutorials/debugging.rst
|
||||
docs/tutorials/index.rst
|
||||
docs/tutorials/task-cookbook.rst
|
||||
docs/userguide/application.rst
|
||||
docs/userguide/calling.rst
|
||||
docs/userguide/canvas.rst
|
||||
docs/userguide/extending.rst
|
||||
docs/userguide/index.rst
|
||||
docs/userguide/monitoring.rst
|
||||
docs/userguide/optimizing.rst
|
||||
docs/userguide/periodic-tasks.rst
|
||||
docs/userguide/remote-tasks.rst
|
||||
docs/userguide/routing.rst
|
||||
docs/userguide/security.rst
|
||||
docs/userguide/signals.rst
|
||||
docs/userguide/tasks.rst
|
||||
docs/userguide/workers.rst
|
||||
docs/userguide/concurrency/eventlet.rst
|
||||
docs/userguide/concurrency/index.rst
|
||||
examples/README.rst
|
||||
examples/app/myapp.py
|
||||
examples/celery_http_gateway/README.rst
|
||||
examples/celery_http_gateway/__init__.py
|
||||
examples/celery_http_gateway/manage.py
|
||||
examples/celery_http_gateway/settings.py
|
||||
examples/celery_http_gateway/tasks.py
|
||||
examples/celery_http_gateway/urls.py
|
||||
examples/django/README.rst
|
||||
examples/django/manage.py
|
||||
examples/django/demoapp/__init__.py
|
||||
examples/django/demoapp/models.py
|
||||
examples/django/demoapp/tasks.py
|
||||
examples/django/demoapp/tests.py
|
||||
examples/django/demoapp/views.py
|
||||
examples/django/proj/__init__.py
|
||||
examples/django/proj/celery.py
|
||||
examples/django/proj/settings.py
|
||||
examples/django/proj/urls.py
|
||||
examples/django/proj/wsgi.py
|
||||
examples/eventlet/README.rst
|
||||
examples/eventlet/bulk_task_producer.py
|
||||
examples/eventlet/celeryconfig.py
|
||||
examples/eventlet/tasks.py
|
||||
examples/eventlet/webcrawler.py
|
||||
examples/gevent/celeryconfig.py
|
||||
examples/gevent/tasks.py
|
||||
examples/httpexample/README.rst
|
||||
examples/httpexample/__init__.py
|
||||
examples/httpexample/manage.py
|
||||
examples/httpexample/settings.py
|
||||
examples/httpexample/urls.py
|
||||
examples/httpexample/views.py
|
||||
examples/next-steps/setup.py
|
||||
examples/next-steps/proj/__init__.py
|
||||
examples/next-steps/proj/celery.py
|
||||
examples/next-steps/proj/tasks.py
|
||||
examples/resultgraph/tasks.py
|
||||
examples/tutorial/tasks.py
|
||||
extra/bash-completion/celery.bash
|
||||
extra/centos/celeryd
|
||||
extra/centos/celeryd.sysconfig
|
||||
extra/centos/test_celeryd.sh
|
||||
extra/generic-init.d/celerybeat
|
||||
extra/generic-init.d/celeryd
|
||||
extra/osx/org.celeryq.beat.plist
|
||||
extra/osx/org.celeryq.worker.plist
|
||||
extra/supervisord/celerybeat.conf
|
||||
extra/supervisord/celeryd.conf
|
||||
extra/supervisord/supervisord.conf
|
||||
extra/systemd/celery.conf
|
||||
extra/systemd/celery.service
|
||||
extra/zsh-completion/celery.zsh
|
||||
requirements/default.txt
|
||||
requirements/dev.txt
|
||||
requirements/docs.txt
|
||||
requirements/jython.txt
|
||||
requirements/pkgutils.txt
|
||||
requirements/security.txt
|
||||
requirements/test-ci.txt
|
||||
requirements/test.txt
|
||||
requirements/test3.txt
|
||||
requirements/extras/auth.txt
|
||||
requirements/extras/beanstalk.txt
|
||||
requirements/extras/cassandra.txt
|
||||
requirements/extras/couchbase.txt
|
||||
requirements/extras/couchdb.txt
|
||||
requirements/extras/eventlet.txt
|
||||
requirements/extras/gevent.txt
|
||||
requirements/extras/librabbitmq.txt
|
||||
requirements/extras/memcache.txt
|
||||
requirements/extras/mongodb.txt
|
||||
requirements/extras/msgpack.txt
|
||||
requirements/extras/pyro.txt
|
||||
requirements/extras/redis.txt
|
||||
requirements/extras/slmq.txt
|
||||
requirements/extras/sqlalchemy.txt
|
||||
requirements/extras/sqs.txt
|
||||
requirements/extras/threads.txt
|
||||
requirements/extras/yaml.txt
|
||||
requirements/extras/zeromq.txt
|
||||
requirements/extras/zookeeper.txt
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,6 @@
|
|||
[console_scripts]
|
||||
celery = celery.__main__:main
|
||||
celeryd = celery.__main__:_compat_worker
|
||||
celeryd-multi = celery.__main__:_compat_multi
|
||||
celerybeat = celery.__main__:_compat_beat
|
||||
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,63 @@
|
|||
pytz>dev
|
||||
billiard>=3.3.0.18,<3.4
|
||||
kombu>=3.0.21,<3.1
|
||||
|
||||
[zookeeper]
|
||||
kazoo>=1.3.1
|
||||
|
||||
[msgpack]
|
||||
msgpack-python>=0.3.0
|
||||
|
||||
[librabbitmq]
|
||||
librabbitmq>=1.5.0
|
||||
|
||||
[slmq]
|
||||
softlayer_messaging>=1.0.3
|
||||
|
||||
[eventlet]
|
||||
eventlet
|
||||
|
||||
[couchbase]
|
||||
couchbase
|
||||
|
||||
[redis]
|
||||
redis>=2.8.0
|
||||
|
||||
[couchdb]
|
||||
couchdb
|
||||
|
||||
[gevent]
|
||||
gevent
|
||||
|
||||
[auth]
|
||||
pyOpenSSL
|
||||
|
||||
[pyro]
|
||||
pyro4
|
||||
|
||||
[yaml]
|
||||
PyYAML>=3.10
|
||||
|
||||
[beanstalk]
|
||||
beanstalkc
|
||||
|
||||
[memcache]
|
||||
pylibmc
|
||||
|
||||
[threads]
|
||||
threadpool
|
||||
|
||||
[mongodb]
|
||||
pymongo>=2.6.2
|
||||
|
||||
[zeromq]
|
||||
pyzmq>=13.1.0
|
||||
|
||||
[sqlalchemy]
|
||||
sqlalchemy
|
||||
|
||||
[sqs]
|
||||
boto>=2.13.3
|
||||
|
||||
[cassandra]
|
||||
pycassa
|
|
@ -0,0 +1 @@
|
|||
celery
|
|
@ -23,7 +23,7 @@ class test_Certificate(SecurityCase):
|
|||
self.assertRaises(SecurityError, Certificate, KEY1)
|
||||
|
||||
def test_has_expired(self):
|
||||
self.assertTrue(Certificate(CERT1).has_expired())
|
||||
self.assertFalse(Certificate(CERT1).has_expired())
|
||||
|
||||
|
||||
class test_CertStore(SecurityCase):
|
||||
|
|
|
@ -416,7 +416,6 @@ class test_Consumer(AppCase):
|
|||
self.assertIs(self.buffer.get_nowait(), task)
|
||||
|
||||
def test_receieve_message_eta_isoformat(self):
|
||||
raise SkipTest('broken test, may fail at random')
|
||||
l = _MyKombuConsumer(self.buffer.put, timer=self.timer, app=self.app)
|
||||
l.blueprint.state = RUN
|
||||
l.steps.pop()
|
||||
|
@ -517,7 +516,6 @@ class test_Consumer(AppCase):
|
|||
self.assertTrue(logger.critical.call_count)
|
||||
|
||||
def test_receive_message_eta(self):
|
||||
raise SkipTest('broken test, may fail at random')
|
||||
import sys
|
||||
from functools import partial
|
||||
if os.environ.get('C_DEBUG_TEST'):
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<p class="logo"><a href="{{ pathto(master_doc) }}">
|
||||
<img class="logo" src="{{ pathto("_images/celery_128.png", 1) }}" alt="Logo"/>
|
||||
<img class="logo" src="http://cloud.github.com/downloads/celery/celery/celery_128.png" alt="Logo"/>
|
||||
</a></p>
|
||||
<div id="donate">
|
||||
<b>Please donate:</b>
|
||||
|
@ -7,5 +7,9 @@
|
|||
<input type="hidden" name="cmd" value="_s-xclick">
|
||||
<input type="hidden" name="hosted_button_id" value="BPCLP83DFF2N2">
|
||||
</form>
|
||||
<button onclick="$('#paypal_donate').submit();" alt="PayPal">PayPal</button>
|
||||
<img onclick="$('#paypal_donate').submit();"
|
||||
src="http://celeryproject.org/static/img/icon-paypal.png" alt="amex">
|
||||
<iframe style="border: 0; margin: 0; padding: 0;"
|
||||
src="https://www.gittip.com/ask/widget.html"
|
||||
width="48pt" height="22pt"> </iframe>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<p class="logo"><a href="{{ pathto(master_doc) }}">
|
||||
<img class="logo" src="{{ pathto("_images/celery_128.png", 1) }}" alt="Logo"/>
|
||||
<img class="logo" src="http://cloud.github.com/downloads/celery/celery/celery_128.png" alt="Logo"/>
|
||||
</a></p>
|
||||
<div id="donate">
|
||||
<b>Please donate:</b>
|
||||
|
@ -7,5 +7,9 @@
|
|||
<input type="hidden" name="cmd" value="_s-xclick">
|
||||
<input type="hidden" name="hosted_button_id" value="BPCLP83DFF2N2">
|
||||
</form>
|
||||
<button onclick="$('#paypal_donate').submit();" alt="PayPal">PayPal</button>
|
||||
<img onclick="$('#paypal_donate').submit();"
|
||||
src="http://celeryproject.org/static/img/icon-paypal.png" alt="amex">
|
||||
<iframe style="border: 0; margin: 0; padding: 0;"
|
||||
src="https://www.gittip.com/ask/widget.html"
|
||||
width="48pt" height="22pt"> </iframe>
|
||||
</div>
|
||||
|
|
24
docs/conf.py
24
docs/conf.py
|
@ -75,23 +75,13 @@ exclude_trees = ['.build']
|
|||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||
add_function_parentheses = True
|
||||
|
||||
def check_object_path(key, url, path):
|
||||
if os.path.isfile(path):
|
||||
return {key: (url, path)}
|
||||
return {}
|
||||
|
||||
intersphinx_mapping = {}
|
||||
intersphinx_mapping.update(check_object_path('python',
|
||||
'http://docs.python.org/',
|
||||
'/usr/share/doc/python'
|
||||
+ '.'.join([str(x) for x in sys.version_info[0:2]])
|
||||
+ '/html/objects.inv'))
|
||||
intersphinx_mapping.update(check_object_path('kombu',
|
||||
'http://kombu.readthedocs.org/en/latest/',
|
||||
'/usr/share/doc/python-kombu-doc/html/objects.inv'))
|
||||
intersphinx_mapping.update(check_object_path('amqp',
|
||||
'http://amqp.readthedocs.org/en/latest/',
|
||||
'/usr/share/doc/python-amqp-doc/html/objects.inv'))
|
||||
intersphinx_mapping = {
|
||||
'python': ('http://docs.python.org/dev', None),
|
||||
'kombu': ('http://kombu.readthedocs.org/en/latest/', None),
|
||||
'djcelery': ('http://django-celery.readthedocs.org/en/latest', None),
|
||||
'cyme': ('http://cyme.readthedocs.org/en/latest', None),
|
||||
'amqp': ('http://amqp.readthedocs.org/en/latest', None),
|
||||
}
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = 'colorful'
|
||||
|
|
|
@ -15,15 +15,11 @@
|
|||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: celery periodic task scheduler
|
||||
# Description: Controls the Celery periodic task scheduler.
|
||||
### END INIT INFO
|
||||
|
||||
# Cannot use set -e/bash -e since the kill -0 command will abort
|
||||
# abnormally in the absence of a valid process ID.
|
||||
#set -e
|
||||
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
VERSION=10.0
|
||||
echo "celery init v${VERSION}."
|
||||
|
||||
|
@ -89,7 +85,6 @@ _config_sanity() {
|
|||
|
||||
scripts=""
|
||||
|
||||
|
||||
if test -f /etc/default/celeryd; then
|
||||
scripts="/etc/default/celeryd"
|
||||
_config_sanity /etc/default/celeryd
|
||||
|
@ -111,13 +106,6 @@ DEFAULT_PID_FILE="/var/run/celery/beat.pid"
|
|||
DEFAULT_LOG_FILE="/var/log/celery/beat.log"
|
||||
DEFAULT_LOG_LEVEL="INFO"
|
||||
DEFAULT_CELERYBEAT="$CELERY_BIN beat"
|
||||
DEFAULT_ENABLED="false"
|
||||
|
||||
ENABLED=${ENABLED:-$DEFAULT_ENABLED}
|
||||
if [ "$ENABLED" != "true" ]; then
|
||||
echo "celerybeat daemon disabled - see $scripts."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
CELERYBEAT=${CELERYBEAT:-$DEFAULT_CELERYBEAT}
|
||||
CELERYBEAT_LOG_LEVEL=${CELERYBEAT_LOG_LEVEL:-${CELERYBEAT_LOGLEVEL:-$DEFAULT_LOG_LEVEL}}
|
||||
|
@ -258,16 +246,7 @@ start_beat () {
|
|||
--pidfile="$CELERYBEAT_PID_FILE"
|
||||
}
|
||||
|
||||
status () {
|
||||
pid=$(cat "$CELERYBEAT_PID_FILE")
|
||||
kill -0 $pid 1>/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "celerybeat running"
|
||||
else
|
||||
echo "celerybeat not running"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
|
@ -297,11 +276,8 @@ case "$1" in
|
|||
check_dev_null
|
||||
check_paths
|
||||
;;
|
||||
status)
|
||||
status
|
||||
;;
|
||||
*)
|
||||
echo "Usage: /etc/init.d/${SCRIPT_NAME} {start|stop|restart|create-paths|status}"
|
||||
echo "Usage: /etc/init.d/${SCRIPT_NAME} {start|stop|restart|create-paths}"
|
||||
exit 64 # EX_USAGE
|
||||
;;
|
||||
esac
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: celery task worker daemon
|
||||
# Description: Controls a celery task worker daemon instance
|
||||
### END INIT INFO
|
||||
#
|
||||
#
|
||||
|
@ -29,9 +28,6 @@
|
|||
#
|
||||
# You can then configure this by manipulating /etc/default/little-worker.
|
||||
#
|
||||
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
VERSION=10.0
|
||||
echo "celery init v${VERSION}."
|
||||
if [ $(id -u) -ne 0 ]; then
|
||||
|
@ -56,7 +52,6 @@ DEFAULT_LOG_FILE="/var/log/celery/%n.log"
|
|||
DEFAULT_LOG_LEVEL="INFO"
|
||||
DEFAULT_NODES="celery"
|
||||
DEFAULT_CELERYD="-m celery worker --detach"
|
||||
DEFAULT_ENABLED="false"
|
||||
|
||||
CELERY_DEFAULTS=${CELERY_DEFAULTS:-"/etc/default/${SCRIPT_NAME}"}
|
||||
|
||||
|
@ -109,12 +104,6 @@ if [ -f "$CELERY_DEFAULTS" ]; then
|
|||
. "$CELERY_DEFAULTS"
|
||||
fi
|
||||
|
||||
ENABLED=${ENABLED:-$DEFAULT_ENABLED}
|
||||
if [ "$ENABLED" != "true" ]; then
|
||||
echo "celery daemon disabled - see $CELERY_DEFAULTS"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Sets --app argument for CELERY_BIN
|
||||
CELERY_APP_ARG=""
|
||||
if [ ! -z "$CELERY_APP" ]; then
|
||||
|
|
32
setup.py
32
setup.py
|
@ -22,6 +22,38 @@ CELERY_COMPAT_PROGRAMS = int(os.environ.get('CELERY_COMPAT_PROGRAMS', 1))
|
|||
if sys.version_info < (2, 6):
|
||||
raise Exception('Celery 3.1 requires Python 2.6 or higher.')
|
||||
|
||||
downgrade_packages = [
|
||||
'celery.app.task',
|
||||
]
|
||||
orig_path = sys.path[:]
|
||||
for path in (os.path.curdir, os.getcwd()):
|
||||
if path in sys.path:
|
||||
sys.path.remove(path)
|
||||
try:
|
||||
import imp
|
||||
import shutil
|
||||
for pkg in downgrade_packages:
|
||||
try:
|
||||
parent, module = pkg.rsplit('.', 1)
|
||||
print('- Trying to upgrade %r in %r' % (module, parent))
|
||||
parent_mod = __import__(parent, None, None, [parent])
|
||||
_, mod_path, _ = imp.find_module(module, parent_mod.__path__)
|
||||
if mod_path.endswith('/' + module):
|
||||
print('- force upgrading previous installation')
|
||||
print(' - removing {0!r} package...'.format(mod_path))
|
||||
try:
|
||||
shutil.rmtree(os.path.abspath(mod_path))
|
||||
except Exception:
|
||||
sys.stderr.write('Could not remove {0!r}: {1!r}\n'.format(
|
||||
mod_path, sys.exc_info[1]))
|
||||
except ImportError:
|
||||
print('- upgrade %s: no old version found.' % module)
|
||||
except:
|
||||
pass
|
||||
finally:
|
||||
sys.path[:] = orig_path
|
||||
|
||||
|
||||
NAME = 'celery'
|
||||
entrypoints = {}
|
||||
extra = {}
|
||||
|
|
Loading…
Reference in New Issue