2016-06-09 17 views
0

Ich bin ausgeführt und pyramid App in Gunicorn Container mit gevent async Arbeiter, einer der Endpunkte ist ein Long-Pool-Endpunkt Pooling AMQP über kombu.gevent + concurrent.futures und SQLAlchemy

Wenn der lange Pool withing 30s Timeout einige Daten von AMQP kehrt Ich muss es Postgres retten vor der Rückkehr, jetzt ist die Frage:

Ist es OK concurrent.futures.ThreadPoolExecutor in Zusammenhang auf app zu starten in GEVENT Schleife läuft, und sich mit SQLAlchemy-Sitzungen und Datenpersistenz in einer Zukunft auseinandersetzen, die dem Executor vorgelegt wird?

Oder liege ich völlig falsch in meiner Art zu denken?

PS DB-Treiber ist psycopg2

Antwort

0

Nach der Verwendung von ThreadPoolExecutor mit gevent in meiner High-gleichzeitige Anwendung kann ich bestätigen, dass dies funktioniert.

aber nicht erforderlich, wenn der DB-Treiber ist bereits gevent "freundlich" wie: psycogreen