安排一个函数在Flask上每小时运行一次 [英] Scheduling a function to run every hour on Flask

查看:200
本文介绍了安排一个函数在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆