dnspython和'Lookup timed'

时间:2013-03-29 15:22:20

标签: python dns celery eventlet dnspython

我正在使用Django,Celery,Eventlet和dnspython来异步解析大约500个RSS源。

当我尝试同时解析超过20个Feed时,使用dnspython会导致“查找超时”错误。 当我卸载dnspython时,一切都很好,但我失去了一些时间,因为dns查找阻止了芹菜池。你有什么想法可以解决吗?

这是我的芹菜任务代码:

import eventlet
feedparser = eventlet.import_patched('feedparser')
from celery import group

@task(ignore_result=True)
def update_feeds():
    group(update_feed.s(feed) for feed in Feed.objects.filter(active=True)).apply_async()

@task(ignore_result=True)
def update_feed(feed):
    parsed_feed = feedparser.parse(feed.feed_url, etag=feed.etag, modified=feed.modified)
    # It fails when I have dnspython installed returning <urlopen error (-3, 'Lookup timed out')> error

我正在使用Ubuntu 12.04 LTS

0 个答案:

没有答案