Форум сайта python.su
Привет всем!
Вопрос: Нужно сделать одновременное выполнение нескольких медленных запросов(дергание интеграций с фб, vk и тд.). Чтобы дергнул и не ждал пока придет ответ, а дальше дергал(следующие запросы), а когда приходит ответ передавал его в коллбек.
Технологии: celery, mongodb
Офлайн
Офлайн
Спасибо. Буду пробовать! :)
Офлайн
Еще. Я использую сторонние библиотеки, чтобы работать с API разных сервисов.
Т.к. запросы в медленный интернет очень дорого обходятся по памяти(а если еще и воркер ждет ответа, то вообще будет беда).
Может можно как нить сделать запрос, и не ждать ответа, а выполнять код дальше.
А когда приходит ответ, дергнуть коллбек какой?
Офлайн
ByGreezБиблиотека по ссылке - оно и есть, не понимаю чем эти требования отличаются от тех, что в вашем первом сообщении.
Может можно как нить сделать запрос, и не ждать ответа, а выполнять код дальше.
А когда приходит ответ, дергнуть коллбек какой?
Офлайн
Проблема в том, что использую сторонние библиотеки. И переписывать их не очень хочется.
Хотя наверно придется отказаться от них, и гонять запросы самому или заюзать весь gevent. Хотя можно попробовать пропатчить urllib.
Спасибо за подсказки!
Отредактировано ByGreez (Апрель 6, 2013 09:27:55)
Офлайн
Вы видимо не вкурсе про gevent.monkey.patch_all ?
https://github.com/surfly/gevent/blob/gevent013/examples/concurrent_download.py
Замените urllib на ваши библиотеки и работайте с ними асинхронно. Я надеюсь, они юзают питоновский сокет, а не pycurl?
Офлайн
qoqenatorНе все, некоторые придется переписать.
Замените urllib на ваши библиотеки и работайте с ними асинхронно. Я надеюсь, они юзают питоновский сокет, а не pycurl?
Офлайн