我正在尝试建立一个像cron这样的进程,该进程每60秒运行一次。我不希望每个线程都执行它。有没有办法指定哪个uwsgi工作者将响应信号?
我目前将uwsgi配置为具有主进程,惰性模式和2个具有2个线程的worker。
我的wsgi文件中直接包含以下代码。
def sig_test(signum):
print "do this thing" + signum
uwsgi.register_signal(99, "", sig_test)
uwsgi.add_timer(99, 60)
Run Code Online (Sandbox Code Playgroud)
信号注册段在两个线程中运行,并导致以下错误:
Traceback (most recent call last):
File "/var/local/wsgi.wsgi", line 153, in <module>
uwsgi.register_signal(99, "worker 1", sig_test)
ValueError: unable to register signal
Wed Jan 15 16:01:57 2014 - unable to load app 0 (mountpoint='') (callable not found or import error)
Wed Jan 15 16:01:57 2014 - *** no app loaded. going in full dynamic mode ***
Wed Jan 15 16:02:08 2014 - [uwsgi-signal] you have …Run Code Online (Sandbox Code Playgroud)