安排一个函数在Flask上每小时运行一次 [英] Scheduling a function to run every hour on Flask
本文介绍了安排一个函数在Flask上每小时运行一次的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个Flask虚拟主机,无法访问 cron
命令。
如何每小时执行一次Python函数?
I have a Flask web hosting with no access to cron
command.
How can I execute some Python function every hour?
推荐答案
更新Sean Vieira的 Scheduler()在APScheduler v3.0中被删除了,所以我们现在可以(v3。 2)使用 BackgroundScheduler()
:
$ b
To update Sean Vieira's answer: Since Scheduler()
was removed in APScheduler v3.0, we can now (v3.2) use BackgroundScheduler()
:
import time
import atexit
from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.triggers.interval import IntervalTrigger
scheduler = BackgroundScheduler()
scheduler.start()
scheduler.add_job(
func=print_date_time,
trigger=IntervalTrigger(seconds=5),
id='printing_job',
name='Print date and time every five seconds',
replace_existing=True)
# Shut down the scheduler when exiting the app
atexit.register(lambda: scheduler.shutdown())
def print_date_time():
print time.strftime("%A, %d. %B %Y %I:%M:%S %p")
请注意,当Flask处于调试模式时,将会启动其中两个调度程序。有关更多信息,请查看这个问题。
Note that two of these schedulers will be launched when Flask is in debug mode. For more information, check out this question.
这篇关于安排一个函数在Flask上每小时运行一次的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文