大凯爺 发表于 2022-5-24 16:48

python设置定时任务

while True:
    nowTime=datetime.datetime.now().strftime('%H%M')
    if nowTime =='0523':
      break

用这种来做定时任务触发会导致cpu的无限消耗,有其他办法来实现吗?{:301_1007:}
请直接上代码{:301_986:}

洛枫 发表于 2022-5-24 16:48

灿烂的小居 发表于 2022-5-24 16:55

考虑用 time sleep 来控制一下

choujie1689 发表于 2022-5-24 16:57

定时器
from threading import Timer
def info():
    print('Hello,Alice.')
tr = Timer(5,info)
tr.start()

大凯爺 发表于 2022-5-24 16:59

灿烂的小居 发表于 2022-5-24 16:55
考虑用 time sleep 来控制一下

因为一些原因这里不能使用sleep去等待

djtc 发表于 2022-5-24 17:09

while True:
    if(start <= current <= end):
       print('in range')
    elif(current >= end):
      break
    current = int(time.time()) * 1000

这样?

m1101m 发表于 2022-5-24 17:22

本帖最后由 m1101m 于 2022-5-24 17:23 编辑

看你这个写法感觉需求比较简单对触发不要求很精确的一般我都直接丢给crontab

riwfhiu 发表于 2022-5-24 17:48

如果有宝塔的话,直接用宝塔的定时任务就很好用,简单方便

Cool_Breeze 发表于 2022-5-24 17:51

while True:
    nowTime=datetime.datetime.now().strftime('%H%M')
    time.sleep(1) # 减少CPU占用
    if nowTime =='0523':
      break

知心 发表于 2022-5-24 22:18

借助系统的定时任务来完成可以吗?win系统的任务计划 ,linux系统的crontab
页: [1]
查看完整版本: python设置定时任务