diff --git a/celery.egg-info/PKG-INFO b/celery.egg-info/PKG-INFO new file mode 100644 index 0000000..d5b27da --- /dev/null +++ b/celery.egg-info/PKG-INFO @@ -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 diff --git a/celery.egg-info/SOURCES.txt b/celery.egg-info/SOURCES.txt new file mode 100644 index 0000000..18ff300 --- /dev/null +++ b/celery.egg-info/SOURCES.txt @@ -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 \ No newline at end of file diff --git a/celery.egg-info/dependency_links.txt b/celery.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/celery.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/celery.egg-info/entry_points.txt b/celery.egg-info/entry_points.txt new file mode 100644 index 0000000..18210e3 --- /dev/null +++ b/celery.egg-info/entry_points.txt @@ -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 + diff --git a/celery.egg-info/not-zip-safe b/celery.egg-info/not-zip-safe new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/celery.egg-info/not-zip-safe @@ -0,0 +1 @@ + diff --git a/celery.egg-info/requires.txt b/celery.egg-info/requires.txt new file mode 100644 index 0000000..0e06433 --- /dev/null +++ b/celery.egg-info/requires.txt @@ -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 \ No newline at end of file diff --git a/celery.egg-info/top_level.txt b/celery.egg-info/top_level.txt new file mode 100644 index 0000000..74f9e8f --- /dev/null +++ b/celery.egg-info/top_level.txt @@ -0,0 +1 @@ +celery diff --git a/celery/tests/security/test_certificate.py b/celery/tests/security/test_certificate.py index e1d38a9..4b07b5a 100644 --- a/celery/tests/security/test_certificate.py +++ b/celery/tests/security/test_certificate.py @@ -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): diff --git a/celery/tests/worker/test_worker.py b/celery/tests/worker/test_worker.py index 27451d0..b700a6c 100644 --- a/celery/tests/worker/test_worker.py +++ b/celery/tests/worker/test_worker.py @@ -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'): diff --git a/docs/.templates/sidebarintro.html b/docs/.templates/sidebarintro.html index 1fd55b3..16cca54 100644 --- a/docs/.templates/sidebarintro.html +++ b/docs/.templates/sidebarintro.html @@ -1,5 +1,5 @@ diff --git a/docs/.templates/sidebarlogo.html b/docs/.templates/sidebarlogo.html index 1fd55b3..16cca54 100644 --- a/docs/.templates/sidebarlogo.html +++ b/docs/.templates/sidebarlogo.html @@ -1,5 +1,5 @@ diff --git a/docs/conf.py b/docs/conf.py index caa3215..0cbda73 100644 --- a/docs/conf.py +++ b/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' diff --git a/extra/generic-init.d/celerybeat b/extra/generic-init.d/celerybeat index 46b73c3..00e8b35 100755 --- a/extra/generic-init.d/celerybeat +++ b/extra/generic-init.d/celerybeat @@ -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 diff --git a/extra/generic-init.d/celeryd b/extra/generic-init.d/celeryd index a9d0c27..0fe704f 100755 --- a/extra/generic-init.d/celeryd +++ b/extra/generic-init.d/celeryd @@ -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 diff --git a/setup.py b/setup.py index 0352b14..24ed037 100644 --- a/setup.py +++ b/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 = {}