我有一个python程序,我想每10秒运行一次,就像cron job一样。我不能在循环中使用睡眠,因为时间间隔会变得不确定。我现在的做法是这样的:
interval = 10.0
next = time.time()
while True:
now = time.time()
if now < next:
time.sleep(next - now)
t = Thread(target=control_lights,)
t.start()# start a thread
next += interval
它生成一个新线程来执行control\u lights函数。问题是随着时间的推移,python进程的数量会增加,占用内存/CPU。有什么好办法吗?非常感谢
您可以每10秒运行一次cron作业,只需将第二个参数设置为“0/10”。它将运行在0,10,20等
看看一个名为The Fat Controller的程序,它是一个类似于CRON的调度程序,但是有更多的选项。间隔可以从上一次运行结束时开始测量(比如for循环),也可以每隔x秒定期测量一次,我想这是您想要的。在这种情况下特别有用的是,您可以告诉Fat控制器,如果其中一个进程花费的时间超过x秒,该怎么办:
文档中应该有很多关于如何设置它的信息。在
这个剧本可以试试看导演还是上帝?在类UNIX操作系统上使用和控制许多进程非常简单
相关问题 更多 >
编程相关推荐