我有一个由皇帝和两个不同的附庸管理的网络应用程序。因为它们都写入不同的数据源,我需要一个文件来同步两者,所以我决定在我的emperor.ini中添加一个计时器作业:
[uwsgi]
strict = True
die-on-term = True
memory-report = True
uid = www-data
gid = www-data
emperor = xxx.ini
logdate = True
import = synchronize
这是synchronize.py
:
from uwsgidecorators import rbtimer, lock
INTERVAL = 10
@lock
@rbtimer(INTERVAL)
def synchronize():
""" Synchronizes data between Redis and PostgreSQL. """
print 'AAA'
我操作我的皇帝:uwsgi --ini emperor.ini
但没有任何反应,控制台永远不会打印'AAA'。
我还缺少什么?
答案 0 :(得分:1)
您需要一个进程(工作人员或骡子)来运行信号处理程序。产生一个工人(添加一个套接字指令)或一个骡子(添加mule = true)。在骡子的情况下,你需要将target = mule添加到@rbtimer装饰器)