flask定时任务

1、Flask-APScheduler 1.12.4
2、config.conf

JOBS = [{
    'id': 'work1',
    'func': 'app1.work1:task1',
    'args': None,
    'trigger': 'interval',
    'seconds': 1*6,
    'max_instances': 1
}]

3、flask:

F:\2022\code\python\vm\py372\Lib\site-packages\flask_apscheduler\scheduler.py

if flask.helpers.get_debug_flag() and not   
    werkzeug.serving.is_running_from_reloader():
           不启动定时任务
代码注解:
debug_flag启动,但是reload未启用,则不启动定时任务。

1、debug_flag:  "FLASK_DEBUG": "1",
2、WERKZEUG_RUN_MAIN: "--reload",

因此,如下需要这么设置:
"FLASK_DEBUG": "1", "--reload", "FLASK_ENV": "development"
或者:关闭debug
"FLASK_DEBUG": "0"

"env": {
                "FLASK_APP": "src/run.py",
                "FLASK_DEBUG": "1",
                "FLASK_ENV": "development"
            },
            "args": [
                "run",
                "--debugger",
                "--reload",
                "-p 9001",
            ],

4、启动:

app2.config.from_object("app1.config")
scheduler = flask_apscheduler.scheduler.APScheduler()
scheduler.init_app(app2)
scheduler.start()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容