我在Ubuntu服务器上使用此配方:http://code.activestate.com/recipes/278731/。
我创建一个这样的守护进程实例:
class MyDaemon(Daemon):
def run(self):
while True:
try:
do_my_data_processing()
except MySQLdb.OperationalError:
# Sleep an extra 30 seconds if database is away.
time.sleep(30)
time.sleep(30)
问题是,即使在守护守护进程时,几乎占用了所有可用的CPU功率。
我做错了什么?
答案 0 :(得分:3)
发布的代码看起来正确。您的错误必须在其他地方。将print
语句放入循环中以确保它处于休眠状态。
答案 1 :(得分:0)
原来这个守护进程没有睡觉。它在每回合之间没有睡30秒就循环了。谢谢Aaron。
我通过将代码更改为:
来修复它class MyDaemon(Daemon):
def run(self):
while True:
try:
do_my_data_processing()
time.sleep(30)
except MySQLdb.OperationalError:
# Sleep an extra 30 seconds if database is away.
time.sleep(30)