详解Python下Flask-ApScheduler快速指南


Posted in Python onNovember 04, 2018

引言:Flask是Python社区非常流行的一个Web开发框架,本文将尝试将介绍APScheduler应用于Flask之中。

1. Flask介绍

 Flask是Python社区大名鼎鼎的"microframework",基于简单的核心,使用extension来增加其他功能,其提供非常丰富易用的扩展包,

比如:

2.  Flask-APScheduler

社区提供了一个Flask-APScheduler的模块,方便大家直接在Flask模块中使用APScheduler。 关于安装的命令,仍然是使用

pip来进行:

>> pip install Flask-APScheduler

3.  如何使用Flask-APScheduler?

关于如何使用,直接代码演示:

#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
Created on Mon Apr 17 22:27:34 2017
 
@author: bladestone
"""
from flask_apscheduler import APScheduler
from flask import Flask
import datetime
 
class Config(object):
  JOBS = [
      {
        'id':'job1',
        'func':'flask-ap:test_data',
        'args': '',
        'trigger': {
          'type': 'cron',
          'day_of_week':"mon-fri",
          'hour':'0-23',
          'minute':'0-11',
          'second': '*/5'
        }
 
       }
    ]
    
  SCHEDULER_API_ENABLED = True
 
app = Flask(__name__, static_url_path='')
 
@app.route("/")
def hello():
  return "hello world"
  
def test_data():
  print("I am working:%s" % (datetime.datetime.now()))
 
if __name__ == '__main__':
  scheduler = APScheduler()
  print("Let us run out of the loop")
  app.config.from_object(Config())
 
  # it is also possible to enable the API directly
  # scheduler.api_enabled = True
  scheduler.init_app(app)
  scheduler.start()
 
  app.run(debug=False)

代码说明:

这里首先使用了一个Config对象来包装APScheduler的配置信息,然后通过app.config.from_object()的方式,读取配置信息。 基于scheduler.init_app(app)初始化到app中,最后启动scheduler的操作。

类似的Scheduler的配置还有如下:

JOBS = [
    {
      'id': 'job1',
      'func': 'jobs:job1',
      'args': (1, 2),
      'trigger': 'interval',
      'seconds': 10
    }
  ]

这个Scheduler是每隔10秒进行调度一次。

更多的关于flask-apscheduler的示例代码可以访问:https://github.com/viniciuschiele/flask-apscheduler/tree/master/examples

4. 总结

flask-apscheduler从定位上讲,只是将APScheduler转换为了Flask可以接受的方式,从而进行任务的调度处理,主要的调度操作还是需要参照APScheduler来进行的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现支持目录FTP上传下载文件的方法
Jun 03 Python
python 将list转成字符串,中间用符号分隔的方法
Oct 23 Python
python字典的常用方法总结
Jul 31 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
Aug 23 Python
Python求正态分布曲线下面积实例
Nov 20 Python
django商品分类及商品数据建模实例详解
Jan 03 Python
Django+Celery实现动态配置定时任务的方法示例
May 26 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
Jun 23 Python
python给list排序的简单方法
Dec 10 Python
Python 数据分析之逐块读取文本的实现
Dec 14 Python
python b站视频下载的五种版本
May 27 Python
pytorch 如何把图像数据集进行划分成train,test和val
May 31 Python
Python中修改字符串的四种方法
Nov 02 #Python
Python中flatten( )函数及函数用法详解
Nov 02 #Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
Nov 01 #Python
Python拼接字符串的7种方法总结
Nov 01 #Python
在python中bool函数的取值方法
Nov 01 #Python
numpy给array增加维度np.newaxis的实例
Nov 01 #Python
Python 中导入csv数据的三种方法
Nov 01 #Python
You might like
php 删除数组元素
2009/01/16 PHP
PHP应用JSON技巧讲解
2013/02/03 PHP
php生成rss类用法实例
2015/04/14 PHP
PHP判断是否微信访问的方法示例
2019/03/27 PHP
extjs DataReader、JsonReader、XmlReader的构造方法
2009/11/07 Javascript
JS给Textarea文本框添加行号的方法
2015/08/20 Javascript
JavaScript中实现Map的示例代码
2015/09/09 Javascript
js实现模拟银行卡账号输入显示效果
2015/11/18 Javascript
Angular.js中ng-include用法及多标签页面的实现方式详解
2017/05/07 Javascript
解决layui前端框架 form表单,table表等内置控件不显示的问题
2018/08/19 Javascript
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python每次处理固定个数的字符的方法总结
2013/01/29 Python
python+opencv实现动态物体识别
2018/01/09 Python
python读取有密码的zip压缩文件实例
2019/02/08 Python
python使用pygame模块实现坦克大战游戏
2020/03/25 Python
python3下载抖音视频的完整代码
2019/06/05 Python
用python写一个定时提醒程序的实现代码
2019/07/22 Python
python实现FTP循环上传文件
2020/03/20 Python
python和C++共享内存传输图像的示例
2020/10/27 Python
基于PyInstaller各参数的含义说明
2021/03/04 Python
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
波兰家具和室内装饰品购物网站:Vivre
2018/04/10 全球购物
运行时异常与一般异常有何异同?
2014/01/05 面试题
旅游管理毕业生自荐信
2013/11/05 职场文书
2014年五四青年节演讲比赛方案
2014/04/22 职场文书
财务会计专业求职信
2014/06/09 职场文书
小学生国庆演讲稿
2014/09/05 职场文书
刑事附带民事上诉状
2015/05/23 职场文书
Python实战之实现简易的学生选课系统
2021/05/25 Python
mysql 索引合并的使用
2021/08/30 MySQL
bose降噪耳机音能消除人声吗
2022/04/19 数码科技
解决Mysql中的innoDB幻读问题
2022/04/29 MySQL