Nginx/Gunicorn/Bottleスタックを使用してGETリクエストを受け取り、簡単な応答を返してからRabbitMQにメッセージを書き込むWSGIアプリケーションを作成しています。まっすぐなボトルでアプリを実行していた場合、アプリがGETを受信するたびにRabbitMQ接続を再利用しています。しかし、Gunicornでは、毎回MQ接続を破壊して再作成しているように見えます。私はその接続を再利用する良い方法があるのだろうかと思っていました。Gunicornワーカー間でオブジェクトを共有する、またはワーカー内でオブジェクトを永続化する
より詳細な情報:
##This is my bottle app
from bottle import blahblahblah
import bottle
from mqconnector import MQConnector
mqc = MQConnector(ip, exchange)
@route('/')
def index():
try:
mqc
except NameError:
mqc = MQConnector(ip, exchange)
mqc.publish('whatever message')
return 'ok'
if __name__ == '__main__':
run(host='blah', port=808)
app = bottle.default_app()