我正在使用 Nginx / Gunicorn / Bottle 堆栈编写一个 WSGI 应用程序,该堆栈接受一个 GET 请求,返回一个简单的响应,然后向 RabbitMQ 写入一条消息。如果我通过直接的 Bottle 运行应用程序,那么每次应用程序收到 GET 时,我都会重用 RabbitMQ 连接。但是,在 Gunicorn 中,工作人员似乎每次都在销毁和重新创建 MQ 连接。我想知道是否有重用该连接的好方法。
更详细的信息:
##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()