Flask 集成 flask_apscheduler 实现定时循环任务详解

晚来风
晚来风
发布时间:2026-10-13| 6人浏览过
原创

本文介绍如何在 Flask 应用中集成 flask_apscheduler 库以实现定时循环任务。通过配置 config.py 定义任务 ID、执行函数及 Cron 触发器,并在 __init__.py 中初始化调度器,可实现如每分钟执行一次的爬虫监控功能。示例展示了从配置到启动的完整流程,适用于需要周期性执行特定逻辑的场景。

作为 Flask 初学者,面对网络上晦涩难懂的教程往往感到困惑。

Flask 集成 flask_apscheduler 实现定时任务

本文旨在解决一个具体需求:对广发信用卡 DIY 卡积分兑换签帐额数量进行爬虫监控,并将抓取到的余量通过钉钉机器人推送至群组。此处省略爬虫代码,仅展示如何实现每分钟执行一次的定时任务。

直接切入核心实现部分。

以下代码仅展示与定时器相关的部分,其他无关代码已省略以保持清晰。项目文件夹结构如下:


├── app
│  ├── test.py
│  ├── __init__.py
│  └── routes.py
├── config.py
├── requirements.txt
└── run.py

配置文件 内容如下:

任务配置定义


# 定时任务
class APSchedulerJobConfig(object):
  SCHEDULER_API_ENABLED = True
  JOBS = [
      {
        'id': 'No1', # 任务唯一ID
        'func': 'app.test:shishi', # 执行任务的function名称,app.test 就是 app下面的`test.py` 文件,`shishi` 是方法名称。文件模块和方法之间用冒号":",而不是用英文的"."
        'args': '', #如果function需要参数,就在这里添加
        'trigger': {
          'type': 'cron', # 类型
          # 'day_of_week': "0-6", # 可定义具体哪几天要执行
          # 'hour': '*', # 小时数
          # 'minute': '1',
          'second': '3' # "*/3" 表示每3秒执行一次,单独一个"3" 表示每分钟的3秒。现在就是每一分钟的第3秒时循环执行。
        }
      }
  ]

应用初始化文件 [[wp/a2]] 内容如下:

调度器初始化与启动


from flask import Flask
# 引用 APSchedule
from flask_apscheduler import APScheduler
# 引用 congfig 配置
from config import Config, APSchedulerJobConfig

app = Flask(__name__)

# 定时任务,导入配置
# APSchedulerJobConfig 就是在 config.py文件中的 类 名称。
app.config.from_object(APSchedulerJobConfig)

# 初始化Flask-APScheduler,定时任务
scheduler = APScheduler()
scheduler.init_app(app)
scheduler.start()

具体执行任务的文件 内容如下:


def shishi():
  xxxx

以上即为 Flask 中使用 flask_apscheduler 实现定时任务的核心代码,希望能为读者提供有益参考。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。