2016-06-09 10 views
0

Я запускаю и pyramid приложение внутри контейнера для стрельбы из артефактов с помощью gevent async workers, Один из конечных точек - это пул конечных точек с длинным пулом AMQP через kombu.gevent + concurrent.futures и SQLAlchemy

Если длинный бассейн жгутов 30s таймаута возвращает некоторые данные из AMQP мне нужно, чтобы сохранить его в Postgres, прежде чем вернуться, теперь вопрос:

Допустимо ли начать concurrent.futures.ThreadPoolExecutor в контексте на приложение работает в GEvent цикле, и иметь дело с сессиями SQLAlchemy и постоянством данных внутри будущего, представленного исполнителю?

Или я совершенно не прав в своем образе мышления?

драйвер PS DB является psycopg2

ответ

0

После использования ThreadPoolExecutor с gevent в моем высоком одновременном приложении, которое я могу подтвердить, что это работает отлично.

Но не нужно, если драйвер DB уже gevent "дружественный", как: psycogreen