日期更改时执行的函数



每次日期更改时,我都需要一个函数来执行。目前,我正在循环检查日期是否发生了变化,但我正在寻找一种更有效的方法。。。。在Python 中

感谢的任何帮助

您真正想要做的是调度在某个时间运行的函数。您需要使用调度机制来完成此操作。当然,你可以自己写一个,但最好的方法可能是使用一个为你做这件事的图书馆。

APScheduler是一个非常成熟的很好的库。

文档:http://apscheduler.readthedocs.org/en/latest/

Pypi:https://pypi.python.org/pypi/APScheduler/3.0.0

示例

这里是一个快速的小例子

from apscheduler.schedulers.background import BlockingScheduler
scheduler = BlockingScheduler()
@scheduler.scheduled_job('interval', seconds=5, timezone='UTC')
def hello():
    print('Hello!')
scheduler.start()

这将每五秒钟运行一次函数hello。您可以将seconds=5更改为days=1,使其每天运行一次。您可以进行更多的配置,因此您可能需要阅读文档。它可以表达您想要的任何日期-时间格式,包括cron

它还支持不同类型的调度器,例如,我选择了BlockingScheduler,因为我希望整个程序作为调度机制的一个函数运行(因此您可以在自己的系统上轻松尝试)。例如,您还可以使用BackgroundScheduler,它将允许您以一种有效的方式从程序中调度任务,而不会阻塞主线程(修复您永远处于循环中的问题)。

相关内容

  • 没有找到相关文章

最新更新