python指定时间执行程序_如何在特定时间执行程序

我有一个程序需要每隔一定的时间执行。例如,我可能希望它每五分钟执行一次。我有几个与多个终端节点设备通信的协调器。下面的代码是关于协调员的。我需要它,以便如果interval设置为5,那么它将运行并记录信息,例如:9:05、9:10、9:15、9:20、9:25等等。到目前为止,我得到的代码如下:if __name__ == '__main__':

while True:

try:

r = json.read(rqst_command())

interval = r.get('intvl')

collect_time = r.get('c_time')

command = r.get('cmd')

send_stats(cmd_nodes(command, collect_time))

time.sleep(interval)

except Exception, e:

print e

print "**Top Level Exception"

pass

问题是,如果我将间隔设置为5分钟,它不会精确地每5分钟记录一次。执行时间似乎在慢慢增加。例如,上面的代码可以记录为9:05:09、9:10:19、9:15:29、9:20:41、9:25:50。程序运行所需的时间取决于节点之间通信的速度。在

有人知道我如何更改代码,使程序每5分钟执行一次吗?在

编辑/更新

我想我已经想出了解决问题的办法。我抓住电流datetime,然后检查它是否在5分钟的标记上。如果是,则记录datetime,并将其发送给send_stats函数。这样,datetime将始终是我想要的。如果它不在5分钟标记上,那么sleep一段时间,然后再次检查。我已经基本完成了代码。但是,我在运行程序时遇到了以下错误:'builtin_function_or_method' object has no attribute 'year'。在

我做错什么了?

这是我的新代码:

^{pr2}$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值