Вложенные гречихи не выполнены

Я пытаюсь вызвать grequest дополнительные вызовы grequeest и обнаруживаю, что обратные вызовы grequest второго уровня не выполняются. Сценарий используется для просмотра первой страницы результатов API, его использования для расчета количества посещаемых дополнительных страниц, а затем для создания новых запросов для этих страниц. Вот соответствующий фрагмент кода:

def handle_page(response, **kwargs):
    # this code is not executed
    print(response.url)
    print(response.status_code)

def handle_tag(response, **kwargs):
    tag = url_to_tag_regex.findall(response.url)[0]
    print(tag)
    jsonObj = response.json()
    totalCount = jsonObj.get("total_count")
    totalPages = int(ceil(totalCount / 48.0))
    unsent_tag_reqs = (grequests.get(api_url_format % (tag, page),
                                     callback=handle_page,
                                     session=requests_session) for page in xrange(totalPages))
    grequests.map(unsent_tag_reqs, size=__CONCURRENT_LIMIT__)

if __name__=="__main__":
    unsent_requests = (grequests.get(api_url_format % (tag, 0),
                                     callback=handle_tag,
                                     session=requests_session) for tag in tagList)
    grequests.map(unsent_requests, size=__CONCURRENT_LIMIT__)

0 ответов

Другие вопросы по тегам