Fixing celery queues and routers to corrrectly route to new_feeds and update_feeds

This commit is contained in:
Samuel Clay 2010-09-28 19:22:52 -04:00
parent 6d20886529
commit a76719bb97
3 changed files with 23 additions and 9 deletions

View file

@ -40,9 +40,9 @@ class Command(BaseCommand):
if i == 12:
print feed_queue
UpdateFeeds.apply_async(args=(feed_queue,))
UpdateFeeds.apply_async(args=(feed_queue,), queue='update_feeds')
feed_queue = []
i = 0
if feed_queue:
print feed_queue
UpdateFeeds.apply_async(args=(feed_queue,))
UpdateFeeds.apply_async(args=(feed_queue,), queue='update_feeds')

View file

@ -14,5 +14,15 @@ class UpdateFeeds(Task):
feed = Feed.objects.get(pk=feed_pk)
feed.update()
class NewFeeds(UpdateFeeds):
class NewFeeds(Task):
name = 'new-feeds'
max_retries = 0
ignore_result = True
def run(self, feed_pks, **kwargs):
if not isinstance(feed_pks, list):
feed_pks = [feed_pks]
for feed_pk in feed_pks:
feed = Feed.objects.get(pk=feed_pk)
feed.update()

View file

@ -228,21 +228,25 @@ DEVSERVER_MODULES = (
import djcelery
djcelery.setup_loader()
CELERY_ROUTES = {
"apps.rss_feeds.tasks.NewFeeds": {
"new-feeds": {
"queue": "new_feeds",
"binding_key": "celery"
"binding_key": "new_feeds"
},
"apps.rss_feeds.tasks.UpdateFeeds": {
"update-feeds": {
"queue": "update_feeds",
"binding_key": "celery"
"binding_key": "update_feeds"
},
}
CELERY_QUEUES = {
"new_feeds": {
"binding_key": "celery"
"exchange": "new_feeds",
"exchange_type": "direct",
"binding_key": "new_feeds"
},
"update_feeds": {
"binding_key": "celery"
"exchange": "update_feeds",
"exchange_type": "direct",
"binding_key": "update_feeds"
},
}
CELERY_DEFAULT_QUEUE = "update_feeds"