说明:使用python内置的模块来实现,本篇博客只是以循环定时来示范,其他的可以结合crontab的风格自己设定

一、导包

from apscheduler.schedulers.blocking import BlockingScheduler
二、普通函数的使用

(1)interval模式,功能比较单一

sched = BlockingScheduler()
@sched.scheduled_job('interval',seconds=5)
def crawl_job():
#五秒执行一次
print('test')

sched.start()
(2)linux或者unix常用的crontab模式,功能比较多

sched = BlockingScheduler()
@sched.scheduled_job('cron',second='*/5')
def crawl_job():
#五秒执行一次
print('test')
sched.start()
(3)其他crontab的使用

sched = BlockingScheduler()
@sched.scheduled_job('cron',second='*/5')
def crawl_job():
#五秒执行一次
print('test')

# # 表示2017年3月22日17时19分07秒执行该程序
# sched.add_job(crawl_job, 'cron', year=2017, month=3, day=22, hour=17, minute=19, second=7)
# # 表示任务在6,7,8,11,12月份的第三个星期五的00:00,01:00,02:00,03:00 执行该程序
# sched.add_job(crawl_job, 'cron', month='6-8,11-12', day='3rd fri', hour='0-3')
# # 表示从星期一到星期五5:30(AM)直到2014-05-30 00:00:00
# sched.add_job(crawl_job(), 'cron', day_of_week='mon-fri', hour=5, minute=30, end_date='2014-05-30')
# # 表示每5秒执行该程序一次,相当于interval 间隔调度中seconds = 5
# sched.add_job(crawl_job, 'cron', second='*/5')

sched.start()
说明:sched.add_job()和注解@sched.scheduled_job()功能类似

区别:个人发现注解再类 里面不再支持,add_job()可以

三、类里面

(1)第一种

class Spider:
'''
对于类来说只支持add_job不再支持注解的形式
'''
def crawl_job(self):
print('mytest')

def start(self):
sched.add_job(self.crawl_job,'cron',second='*/5')
sched.start()

Spider().start()
(2)第二种

class Spider:
'''
对于类来说只支持add_job不再支持注解的形式
'''
def crawl_job(self):
print('mytest')

sched.add_job(Spider().crawl_job,'cron',second='*/5')
————————————————
版权声明:本文为CSDN博主「Mr夏先生」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ryuhfxz/article/details/86739477

python 定时任务 from apscheduler.schedulers.blocking import BlockingScheduler的更多相关文章

  1. Python定时任务框架APScheduler 3.0.3 Cron示例

    APScheduler是基于Quartz的一个Python定时任务框架,实现了Quartz的所有功能,使用起来十分方便.提供了基于日期.固定时间间隔以及crontab类型的任务,并且可以持久化任务.基 ...

  2. python 定时任务框架apscheduler

    文章目录 安装 基本概念介绍 调度器的工作流程 实例1 -间隔性任务 实例2 - cron 任务 配置调度器 方法一 方法二 方法三: 启动调度器 方法一:使用默认的作业存储器: 方法二:使用数据库作 ...

  3. Python定时任务利器—Apscheduler

    导语 在工作场景遇到了这么一个场景,就是需要定期去执行一个缓存接口,用于同步设备配置.首先想到的就是Linux上的crontab,可以定期,或者间隔一段时间去执行任务.但是如果你想要把这个定时任务作为 ...

  4. python定时任务:apscheduler的使用(还有一个celery~)

    文章摘自:https://www.cnblogs.com/luxiaojun/p/6567132.html 1 . 安装 pip install apscheduler 2 . 简单例子 # codi ...

  5. python定时任务模块APScheduler

    一.简单任务 定义一个函数,然后定义一个scheduler类型,添加一个job,然后执行,就可以了 5秒整倍数,就执行这个函数 # coding:utf-8 from apscheduler.sche ...

  6. Python 定时任务框架 APScheduler 详解

    APScheduler 最近想写个任务调度程序,于是研究了下 Python 中的任务调度工具,比较有名的是:Celery,RQ,APScheduler. Celery:非常强大的分布式任务调度框架 R ...

  7. Python—定时任务(APScheduler实现)

    简介                 APScheduler的全称是Advanced Python Scheduler.它是一个轻量级的基于Quartz的 Python 定时任务调度框架.APSche ...

  8. Python定时任务框架APScheduler

    http://blog.csdn.net/chosen0ne/article/details/7842421 APScheduler是基于Quartz的一个Python定时任务框架,实现了Quartz ...

  9. [转]Python定时任务框架APScheduler

    APScheduler是基于Quartz的 一个Python定时任务框架,实现了Quartz的所有功能,使用起来十分方便.提供了基于日期.固定时间间隔以及crontab类型的任务,并且可以 持久化任务 ...

随机推荐

  1. idea 设置默认的maven

    idea版本2019.2 设置maven 按照上图中的1-4顺序进行配置,就可以让以后每一个工程使用我们指定的配置了. 1:打开maven配置界面. 2:点击后面的三角符号,使maven列表显示,并在 ...

  2. [笔记] 二级指针(pointer to pointer)

    // 1.pointer to pointer.cpp #include "stdafx.h" #include <stdlib.h> int _tmain(int a ...

  3. Java异常的10个关键知识点

    前言 总结了Java异常十个关键知识点,面试或者工作中都有用哦,加油. 一. 异常是什么 异常是指阻止当前方法或作用域继续执行的问题.比如你读取的文件不存在,数组越界,进行除法时,除数为0等都会导致异 ...

  4. gitblit搭建

    gitblit 1.8.0  + java7 下载安装java7 https://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-windows- ...

  5. 创建一个dotnetcore的SPA模板项目

    MPA和SPA 对比 dotnet new --install Microsoft.AspNetCore.SpaTemplates::* 我这边用的是vue dotnet new vue dotnet ...

  6. JQuery EasyUI Tree组件的Bug记录

    记录一下使用项目中使用EasyUI遇到的bug,废话少说直接上菜  - _-(bug)..... bug ::   .netcore创建一个web应用时候,会自动引入jQuery库以及一些插件,但是在 ...

  7. Wireshark教程之一:认识Wireshark界面

    1.下载与安装 官网地址:https://www.wireshark.org/ 官网下载地址:https://www.wireshark.org/#download 本文以windows环境为例来说明 ...

  8. iOS - 架构的认识过程,悬崖勒马。

    16年的时候写过一篇代码讲解的,依旧是这三种架构,现在20年将近了,看到好的文章,是否增加新的认识. 16年链接 iOS - 架构模式 - 解密 MVC.MVP.MVVM.VIPER架构 新项目选择架 ...

  9. MongoDB常用数据库命令第二集

    =======================基础命令======================= mongo 进入数据库操作界面db 查看当前使用的数据库show dbs 查看当前已经被创建出来的 ...

  10. Java 数组(一)定义与访问

    一.数组 1.容器概述    容器:是将多个数据存储到一起,每个数据称为该容器的元素. 2.数组概述  数组:数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致. 数组特点: (1)数组是一 ...