Доброго времени суток! Написал такой говнокод:

# -*- coding:utf-8 -*
import urllib.request
from xml.dom.minidom import parseString
import multiprocessing

#отдельная функция, так как Pool не хочет работать с вложенной функцией, мол не может запаковать pickle. Получает data (что бы удобнее работать с Pool), распаковывает, собирает xml, отправляет, получает ответ    
def ya_request(data):
    query,region=data
    ya_user=****
    ya_key=*****
    ya_url='http://xmlsearch.yandex.ru/xmlsearch?user='+ya_user+'&key='+ya_key+'&lr='+region
    defaults_xml='''<?xml version="1.0" encoding="UTF-8"?>
        <request>
        <query>%s</query>
        <groupings>
        <groupby attr="d" mode="deep" groups-on-page="100"  docs-in-group="1" />
        </groupings>
        </request>'''
    return (query,urllib.request.urlopen(ya_url,((defaults_xml % query).encode()),timeout=15).read().decode())

#сама функция поиска, ее я импортирую в представление джанго. Получает список xml, парсит теги url, проверяет вхождение и возвращает позицию или прочерк, если нет.
def yandex_search(query_list,domain,region):
    pool=multiprocessing.Pool(processes=2)
    qxmls=pool.map_async(ya_request,[(query,region) for query in query_list]).get()
    pool.close()

    def ya_parse(qxml):
        query,xml=qxml
        urls=[node.childNodes[0].nodeValue.lower() for node in parseString(xml).getElementsByTagName('url')]
        try:
            poz,url=[x for x in enumerate(urls,start=1) if domain in x[1]][0]
            return (query,poz,url)
        except IndexError:
            return (query,'-','-')

    return [ya_parse(qxml) for qxml in qxmls]

без джанго, все работает а в

def ya_search(request):
results=[]
if request.method=='POST':
    domain=request.POST['domain'].strip()
    region=request.POST['region'].strip()
    query_list=[x.strip() for x in request.POST['query_list'].split('\r\n') if x!='']
    if len(query_list)>50:
        query_list=query_list[:50]
    results=tools.yandex.yandex_search(query_list,domain,region)
return render_to_response('yasearch.html',{'results':results})

выдает ошибки

Exception AttributeError: AttributeError("'_DummyThread' object has no attribute '_block'",) in <module 'threading' from '/usr/lib/python3.2/threading.py'> ignored
Exception AttributeError: AttributeError("'_DummyThread' object has no attribute '_block'",) in <module 'threading' from '/usr/lib/python3.2/threading.py'> ignored

честно говоря уже всю голову сломал себе=) что я могу не так делать? джанго вообще дружит с потоками? мб отказаться от их использования и плюнуть на скорость работы? Заранее спасибо!

зы. без потоков, позиции по 50 запросам собираются за 35-40 секунд в 50 потоков через pool за 4 секунды