forked from celery/celery
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Ask Solem
committed
Jun 8, 2009
1 parent
9c002d0
commit 5df08a9
Showing
13 changed files
with
147 additions
and
144 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,2 @@ | ||
Ask Solem <[email protected]> | ||
Grégoire Cachet <[email protected]> | ||
|
||
Thanks to Rune Halvorsen <[email protected]> for the name. | ||
Thanks to Anton Tsigularov <[email protected]> for the previous name (crunchy) | ||
which we had to abandon because of an existing project with that name. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,124 @@ | ||
============================ | ||
Frequently Asked Questions | ||
============================ | ||
|
||
Questions | ||
========= | ||
|
||
MySQL is throwing deadlock errors, what can I do? | ||
------------------------------------------------- | ||
|
||
**Answer:** MySQL has default isolation level set to ``REPEATABLE-READ``, | ||
if you don't really need that, set it to ``READ-COMMITTED``. | ||
You can do that by adding the following to your ``my.cnf``:: | ||
|
||
[mysqld] | ||
transaction-isolation = READ-COMMITTED | ||
|
||
For more information about InnoDBs transaction model see `MySQL - The InnoDB | ||
Transaction Model and Locking`_ in the MySQL user manual. | ||
|
||
(Thanks to Honza Kral and Anton Tsigularov for this solution) | ||
|
||
.. _`MySQL - The InnoDB Transaction Model and Locking`: http://dev.mysql.com/doc/refman/5.1/en/innodb-transaction-model.html | ||
|
||
celeryd is not doing anything, just hanging | ||
-------------------------------------------- | ||
|
||
**Answer:** See `MySQL is throwing deadlock errors, what can I do?`_. | ||
|
||
I'm having ``IntegrityError: Duplicate Key`` errors. Why? | ||
---------------------------------------------------------- | ||
|
||
**Answer:** See `MySQL is throwing deadlock errors, what can I do?`_. | ||
Thanks to howsthedotcom. | ||
|
||
Why won't my Task run? | ||
---------------------- | ||
|
||
**Answer:** Did you register the task in the applications ``tasks.py`` module? | ||
(or in some other module Django loads by default, like ``models.py``?). | ||
Also there might be syntax errors preventing the tasks module being imported. | ||
|
||
You can find out if the celery daemon is able to run the task by executing the | ||
task manually: | ||
|
||
>>> from myapp.tasks import MyPeriodicTask | ||
>>> MyPeriodicTask.delay() | ||
|
||
Watch celery daemons logfile (or output if not running as a daemon), to see | ||
if it's able to find the task, or if some other error is happening. | ||
|
||
Why won't my Periodic Task run? | ||
------------------------------- | ||
|
||
See `Why won't my Task run?`_. | ||
|
||
Can I send some tasks to only some servers? | ||
-------------------------------------------- | ||
|
||
As of now there is only one use-case that works like this, and that is | ||
tasks of type ``A`` can be sent to servers ``x`` and ``y``, while tasks | ||
of type ``B`` can be sent to server ``z``. One server can't handle more than | ||
one routing_key, but this is coming in a later release. | ||
|
||
Say you have two servers, ``x``, and ``y`` that handles regular tasks, | ||
and one server ``z``, that only handles feed related tasks, you can use this | ||
configuration: | ||
|
||
* Servers ``x`` and ``y``: settings.py: | ||
|
||
.. code-block:: python | ||
|
||
AMQP_SERVER = "rabbit" | ||
AMQP_PORT = 5678 | ||
AMQP_USER = "myapp" | ||
AMQP_PASSWORD = "secret" | ||
AMQP_VHOST = "myapp" | ||
|
||
CELERY_AMQP_CONSUMER_QUEUE = "regular_tasks" | ||
CELERY_AMQP_EXCHANGE = "tasks" | ||
CELERY_AMQP_PUBLISHER_ROUTING_KEY = "task.regular" | ||
CELERY_AMQP_CONSUMER_ROUTING_KEY = "task.#" | ||
CELERY_AMQP_EXCHANGE_TYPE = "topic" | ||
|
||
* Server ``z``: settings.py: | ||
|
||
.. code-block:: python | ||
|
||
AMQP_SERVER = "rabbit" | ||
AMQP_PORT = 5678 | ||
AMQP_USER = "myapp" | ||
AMQP_PASSWORD = "secret" | ||
AMQP_VHOST = "myapp" | ||
|
||
CELERY_AMQP_CONSUMER_QUEUE = "feed_tasks" | ||
CELERY_AMQP_EXCHANGE = "tasks" | ||
CELERY_AMQP_PUBLISHER_ROUTING_KEY = "task.regular" | ||
CELERY_AMQP_CONSUMER_ROUTING_KEY = "task.feed.#" | ||
CELERY_AMQP_EXCHANGE_TYPE = "topic" | ||
|
||
Now to make a Task run on the ``z`` server you need to set its | ||
``routing_key`` attribute so it starts with the words ``"task.feed."``: | ||
|
||
.. code-block:: python | ||
|
||
from feedaggregator.models import Feed | ||
from celery.task import Task | ||
|
||
class FeedImportTask(Task): | ||
name = "import_feed" | ||
routing_key = "task.feed.importer" | ||
|
||
def run(self, feed_url): | ||
# something importing the feed | ||
Feed.objects.import_feed(feed_url) | ||
|
||
|
||
You can also override this using the ``routing_key`` argument to | ||
:func:`celery.task.apply_async`: | ||
|
||
>>> from celery.task import apply_async | ||
>>> from myapp.tasks import RefreshFeedTask | ||
>>> apply_async(RefreshFeedTask, args=["http://cnn.com/rss"], | ||
... routing_key="task.feed.importer") |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,10 @@ | ||
include AUTHORS | ||
include README.rst | ||
include CHANGELOG | ||
include README | ||
include MANIFEST.in | ||
include LICENSE | ||
include LICENCE | ||
include TODO | ||
include Changelog | ||
include THANKS | ||
recursive-include celery * | ||
recursive-include docs * | ||
recursive-include testproj * |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Thanks to Rune Halvorsen <[email protected]> for the name. | ||
Thanks to Anton Tsigularov <[email protected]> for the previous name (crunchy) | ||
which we had to abandon because of an existing project with that name. | ||
Thanks to Vitaly Babiy for bug reports. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,2 @@ | ||
* Store result/errors in the TaskMeta store. | ||
* Catch exceptions from pure function tasks. | ||
* Need a tutorial | ||
* Need more documentation | ||
* Need a way to run without a AMQP server (see the ``backends`` branch of | ||
carrot, it should make it able to run just using the python ``Queue`` | ||
module.) | ||
Please see our Issue Tracker at GitHub: | ||
http://github.com/ask/celery/issues |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
../Changelog | ||
../CHANGELOG |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
../FAQ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
../README.rst | ||
../README |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters