flask 使用 flask_apscheduler 做定时循环任务的实现

yipeiwu_com6年前Python基础

我是初学者,对 flask 很陌生,网上搜到的文章都看不懂,很尴尬。

本意是打算对广发信用卡diy卡积分兑换签帐额的数量进行爬虫监控。将抓取到的余量通过钉钉机器人发送到群里。爬虫代码就不写了,这里只写定时任务每分钟抓一次的代码。

不扯淡,直接干

以下代码,都是当前文件和定时器相关的代码,没有将其它代码写进来辣各位的眼睛。
文件夹结构图:

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

config.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秒时循环执行。
        }
      }
  ]

app/__init__.py :

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()

test.py,是具体需要执行的任务内容:

def shishi():
  xxxx

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

PyQt5 QSerialPort子线程操作的实现

环境: python3.6 pyqt5 只是简单的一个思路,请忽略脆弱的异常防护: # -*- coding: utf-8 -*- import sys from PyQt5....

解决python3读取Python2存储的pickle文件问题

我在使用python3.5处理一个序列化文件xxx.pk,不过这个.pk文件是我在python2.7里面存储的,当我用python3读取的时候就会报如下的错误。 import pic...

python3实现从kafka获取数据,并解析为json格式,写入到mysql中

项目需求:将kafka解析来的日志获取到数据库的变更记录,按照订单的级别和订单明细级别写入数据库,一条订单的所有信息包括各种维度信息均保存在一条json中,写入mysql5.7中。 配置...

基于Python实现的扫雷游戏实例代码

本文实例借鉴mvc模式,核心数据为model,维护1个矩阵,0表无雷,1表雷,-1表已经检测过。 本例使用python的tkinter做gui,由于没考虑可用性问题,因此UI比较难看,p...

Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)

Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)

本文全部操作均在windows环境下 安装 Python Python是一种跨平台的计算机程序设计语言,它可以运行在Windows、Mac和各种Linux/Unix系统上。是一种面向对象...