Форум сайта python.su
Twisted-Goodies уже давно не развивается, не увидел смысла использовать это. Получилось примерно вот так:
from twisted.internet.threads import deferToThread
from twisted.internet.defer import DeferredSemaphore
class Browser(object):
def __init__(self):
self.sem = DeferredSemaphore(1)
def _fetch(self, url, data=None):
curl = pycurl.Curl()
...
curl.perform()
...
return curl
def fetch(self, *args, **kwargs):
return self.sem.run(self.asyncFetch, *args, **kwargs)
def asyncFetch(self, *args, **kwargs):
return deferToThread(self._fetch, *args, **kwargs)
Отредактировано (Июнь 1, 2010 17:00:39)
Офлайн