吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1377|回复: 9
收起左侧

[讨论] python设置定时任务

[复制链接]
大凯爺 发表于 2022-5-24 16:48
55吾爱币
[Python] 纯文本查看 复制代码
while True:
    nowTime=datetime.datetime.now().strftime('%H%M')
    if nowTime =='0523':
        break


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

最佳答案

查看完整内容

[mw_shl_code=python,true]from apscheduler.schedulers.blocking import BlockingScheduler def getAndSendLearnRatio(): pass def start(): pass scheduler = BlockingScheduler() scheduler.add_job(start, 'cron', day_of_week='2', hour='17', minute='00', second='00', timezone='Asia/Shanghai') scheduler.add_job(getAndSendLearnRatio, 'cron', day_of_week='2', hour='21', minute='00', second= ...

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
洛枫 发表于 2022-5-24 16:48
提示: 作者被禁止或删除 内容自动屏蔽
灿烂的小居 发表于 2022-5-24 16:55
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
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 11:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表