使用time.sleep()12小时的想法有多糟糕?(Python 3.8)

使用time.sleep()12小时的想法有多糟糕?(Python 3.8),python,python-3.x,time,Python,Python 3.x,Time,我想每12小时运行一个脚本,或者至少运行其中的代码块。使用以下各项会浪费多少资源: while True: My Code time.sleep(43200) 是否有更简单、更有效的方法来完成此任务?如果您需要每小时运行一次(或更多)代码,我建议您使用apscheduler: 此计时不准确,因为它只计算cpu在此进程上调度时的时间 至少你可以每隔几秒钟检查一次目标时间是否到达 这不是一个好的解决方案,因为您的流程不如系统cron可靠。由于未知错误和系统cpu/mem利用率高,进

我想每12小时运行一个脚本,或者至少运行其中的代码块。使用以下各项会浪费多少资源:

while True:
    My Code
    time.sleep(43200)

是否有更简单、更有效的方法来完成此任务?

如果您需要每小时运行一次(或更多)代码,我建议您使用apscheduler:


此计时不准确,因为它只计算cpu在此进程上调度时的时间 至少你可以每隔几秒钟检查一次目标时间是否到达
这不是一个好的解决方案,因为您的流程不如系统cron可靠。由于未知错误和系统cpu/mem利用率高,进程可能会挂起

是的,请使用外部计划程序运行作业。如果你使用linux,你就有了cron。Windows也有任务计划程序。您是否尝试运行该脚本?怎么搞的?你认为它使用什么“资源”?您是否尝试过研究替代方案?只有在进入
睡眠
之前对共享资源(例如文件或数据库)进行某种锁定,您才会浪费资源。这是否回答了您的问题?
from apscheduler.schedulers.blocking import BlockingScheduler

def main():
   Do something

scheduler = BlockingScheduler()
scheduler.add_job(main, "interval", hours=12)
scheduler.start()