假设我想每天上午10点运行一些功能。
如果我以编程方式使用cron / launchd vs scheduling,这些问题的答案会有所不同吗?谢谢!
答案 0 :(得分:1)
这个问题的答案可能取决于您的平台,可用设施和您的特定项目需求。
首先让我解决系统资源问题。如果您想使用最少的资源,只需调用time.sleep(NNN)
,其中NNN是下一个10AM实例的秒数。 time.sleep
将暂停程序的执行,并且应该消耗零(或几乎为零的资源)。 python GC可能会定期唤醒并进行维护,但它的工作应该可以忽略不计。
如果您使用的是Unix,cron
是安排未来任务的典型工具。它实现了一个相当高效的Franta-Maly事件列表管理器。它将根据 next 的任务列表确定并在此之前休眠。
在Windows上,您拥有计划管理器。它是一个复杂的弗兰肯斯坦 - 但它非常灵活,可以处理由于停电和笔记本电脑休眠等导致的错过事件......