我似乎无法运行@postfork函数。。。在
1 import uwsgi
2 from uwsgidecorators import *
3 from gevent import monkey; monkey.patch_all()
4 import sys
5 import umysql
6 import time
7
8 DB_HOST = 'stage.masked.com'
9 DB_PORT = 3306
10 DB_USER = 'masked'
11 DB_PASSWD = 'masked'
12 DB_DB = 'masked'
13
14 mysql_conn = None
15
16 @postfork
17 def zebra():
18 print "I AM ZEBRA"
19 raise
20
21 @postfork
22 def setup_pool():
23 global mysql_conn
24 mysql_conn = umysql.Connection()
25 print "HIII"
26 sys.stderr.write(str(mysql_conn.is_connected()))
27 mysql_conn.connect (DB_HOST, DB_PORT, DB_USER, DB_PASSWD, DB_DB)
28 sys.stderr.write(str(mysql_conn.is_connected()))
29
30 def application(env, start_response):
31 print "HALLO"
当我启动uwsgi时,我什么都得不到,直到我找到路由(在nginx中定义,调用这个py应用程序)。我是如何开始uwsgi的:
^{pr2}$当我上路时,我得到:
HALLO
如何运行@postfork函数?我的最终目标是在应用程序函数中获得连接池。在
谢谢!在
更新:如果我用--vhost替换--wsgi文件=服务器.py,它按预期工作。在
如果使用动态应用程序,则没有可捕获的fork()(fork()都发生在应用程序加载之前)
可以在.py文件中移动postfork钩子,该文件可以在服务器启动时导入
导入模块名/文件名
相关问题 更多 >
编程相关推荐