触发器函数按日期时间周期,但不按时间周期

2024-03-29 05:32:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我想让我的函数在0 second,30second每分钟触发一次。你知道吗

而不是使用time.sleep(30),因为脚本将运行数月并有一些阻塞系统调用

我想让它在特定的时间发生,比如12:00:00, 12:00:30, 12:01:00

如何在Python2.7上实现它


Tags: 函数脚本time系统时间sleepsecond
1条回答
网友
1楼 · 发布于 2024-03-29 05:32:11

不确定函数是如何工作的,但如果有任何类型的循环,可以使用if语句。你知道吗

t = time.time()

while/for loop:
    ...
    if time.time() > t + 30:
        yourFunction()
        t = time.time()
    ...

编辑:

是我的错,误读了。类似的方法,但你可以使用日期-时间,可能更好地研究了chrontab虽然。这个方法是有点黑客,如果你的脚本很小,可以循环每一秒这将工作,否则去chrontab。你知道吗

import datetime

t = datetime.datetime
run = True

while/for loop:
    ...
    if t.now().second % 30 == 0 and run == True:
        yourFunction()
        run = False
    if t.now().second % 30 == 1:
        run = True
    ...

相关问题 更多 >