django定时任务python调度框架APScheduler使用详解
# coding=utf-8
2 """
3 Demonstrates how to use the background scheduler to schedule a job that executes on 3 second
4 intervals.
5 """
6
7 from datetime import datetime
8 import time
9 import os
10
11 from apscheduler.schedulers.background import BackgroundScheduler
12
13
14 def tick():
15 print('Tick! The time is: %s' % datetime.now())
16
17
18 if __name__ == '__main__':
19 scheduler = BackgroundScheduler()
20 scheduler.add_job(tick, 'interval', seconds=3) #间隔3秒钟执行一次
21 scheduler.start() #这里的调度任务是独立的一个线程
22 print('Press Ctrl+{0} to exit'.format('Break' if os.name == 'nt' else 'C'))
23
24 try:
25 # This is here to simulate application activity (which keeps the main thread alive).
26 while True:
27 time.sleep(2) #其他任务是独立的线程执行
28 print('sleep!')
29 except (KeyboardInterrupt, SystemExit):
30 # Not strictly necessary if daemonic mode is enabled but should be done if possible
31 scheduler.shutdown()
32 print('Exit The Job!')

非阻塞调度,在指定的时间执行一次

1 # coding=utf-8
2 """
3 Demonstrates how to use the background scheduler to schedule a job that executes on 3 second
4 intervals.
5 """
6
7 from datetime import datetime
8 import time
9 import os
10
11 from apscheduler.schedulers.background import BackgroundScheduler
12
13
14 def tick():
15 print('Tick! The time is: %s' % datetime.now())
16
17
18 if __name__ == '__main__':
19 scheduler = BackgroundScheduler()
20 #scheduler.add_job(tick, 'interval', seconds=3)
21 scheduler.add_job(tick, 'date', run_date='2016-02-14 15:01:05') #在指定的时间,只执行一次
22 scheduler.start() #这里的调度任务是独立的一个线程
23 print('Press Ctrl+{0} to exit'.format('Break' if os.name == 'nt' else 'C'))
24
25 try:
26 # This is here to simulate application activity (which keeps the main thread alive).
27 while True:
28 time.sleep(2) #其他任务是独立的线程执行
29 print('sleep!')
30 except (KeyboardInterrupt, SystemExit):
31 # Not strictly necessary if daemonic mode is enabled but should be done if possible
32 scheduler.shutdown()
33 print('Exit The Job!')

非阻塞的方式,采用cron的方式执行

1 # coding=utf-8
2 """
3 Demonstrates how to use the background scheduler to schedule a job that executes on 3 second
4 intervals.
5 """
6
7 from datetime import datetime
8 import time
9 import os
10
11 from apscheduler.schedulers.background import BackgroundScheduler
12
13
14 def tick():
15 print('Tick! The time is: %s' % datetime.now())
16
17
18 if __name__ == '__main__':
19 scheduler = BackgroundScheduler()
20 #scheduler.add_job(tick, 'interval', seconds=3)
21 #scheduler.add_job(tick, 'date', run_date='2016-02-14 15:01:05')
22 scheduler.add_job(tick, 'cron', day_of_week='6', second='*/5')
23 '''
24 year (int|str) – 4-digit year
25 month (int|str) – month (1-12)
26 day (int|str) – day of the (1-31)
27 week (int|str) – ISO week (1-53)
28 day_of_week (int|str) – number or name of weekday (0-6 or mon,tue,wed,thu,fri,sat,sun)
29 hour (int|str) – hour (0-23)
30 minute (int|str) – minute (0-59)
31 second (int|str) – second (0-59)
32
33 start_date (datetime|str) – earliest possible date/time to trigger on (inclusive)
34 end_date (datetime|str) – latest possible date/time to trigger on (inclusive)
35 timezone (datetime.tzinfo|str) – time zone to use for the date/time calculations (defaults to scheduler timezone)
36
37 * any Fire on every value
38 */a any Fire every a values, starting from the minimum
39 a-b any Fire on any value within the a-b range (a must be smaller than b)
40 a-b/c any Fire every c values within the a-b range
41 xth y day Fire on the x -th occurrence of weekday y within the month
42 last x day Fire on the last occurrence of weekday x within the month
43 last day Fire on the last day within the month
44 x,y,z any Fire on any matching expression; can combine any number of any of the above expressions
45 '''
46 scheduler.start() #这里的调度任务是独立的一个线程
47 print('Press Ctrl+{0} to exit'.format('Break' if os.name == 'nt' else 'C'))
48
49 try:
50 # This is here to simulate application activity (which keeps the main thread alive).
51 while True:
52 time.sleep(2) #其他任务是独立的线程执行
53 print('sleep!')
54 except (KeyboardInterrupt, SystemExit):
55 # Not strictly necessary if daemonic mode is enabled but should be done if possible
56 scheduler.shutdown()
57 print('Exit The Job!')

阻塞的方式,间隔3秒执行一次

1 # coding=utf-8
2 """
3 Demonstrates how to use the background scheduler to schedule a job that executes on 3 second
4 intervals.
5 """
6
7 from datetime import datetime
8 import os
9
10 from apscheduler.schedulers.blocking import BlockingScheduler
11
12
13 def tick():
14 print('Tick! The time is: %s' % datetime.now())
15
16
17 if __name__ == '__main__':
18 scheduler = BlockingScheduler()
19 scheduler.add_job(tick, 'interval', seconds=3)
20
21 print('Press Ctrl+{0} to exit'.format('Break' if os.name == 'nt' else 'C'))
22
23 try:
24 scheduler.start() #采用的是阻塞的方式,只有一个线程专职做调度的任务
25 except (KeyboardInterrupt, SystemExit):
26 # Not strictly necessary if daemonic mode is enabled but should be done if possible
27 scheduler.shutdown()
28 print('Exit The Job!')

采用阻塞的方法,只执行一次

1 # coding=utf-8
2 """
3 Demonstrates how to use the background scheduler to schedule a job that executes on 3 second
4 intervals.
5 """
6
7 from datetime import datetime
8 import os
9
10 from apscheduler.schedulers.blocking import BlockingScheduler
11
12
13 def tick():
14 print('Tick! The time is: %s' % datetime.now())
15
16
17 if __name__ == '__main__':
18 scheduler = BlockingScheduler()
19 scheduler.add_job(tick, 'date', run_date='2016-02-14 15:23:05')
20
21 print('Press Ctrl+{0} to exit'.format('Break' if os.name == 'nt' else 'C'))
22
23 try:
24 scheduler.start() #采用的是阻塞的方式,只有一个线程专职做调度的任务
25 except (KeyboardInterrupt, SystemExit):
26 # Not strictly necessary if daemonic mode is enabled but should be done if possible
27 scheduler.shutdown()
28 print('Exit The Job!')

采用阻塞的方式,使用cron的调度方法

1 # coding=utf-8
2 """
3 Demonstrates how to use the background scheduler to schedule a job that executes on 3 second
4 intervals.
5 """
6
7 from datetime import datetime
8 import os
9
10 from apscheduler.schedulers.blocking import BlockingScheduler
11
12
13 def tick():
14 print('Tick! The time is: %s' % datetime.now())
15
16
17 if __name__ == '__main__':
18 scheduler = BlockingScheduler()
19 scheduler.add_job(tick, 'cron', day_of_week='6', second='*/5')
20 '''
21 year (int|str) – 4-digit year
22 month (int|str) – month (1-12)
23 day (int|str) – day of the (1-31)
24 week (int|str) – ISO week (1-53)
25 day_of_week (int|str) – number or name of weekday (0-6 or mon,tue,wed,thu,fri,sat,sun)
26 hour (int|str) – hour (0-23)
27 minute (int|str) – minute (0-59)
28 second (int|str) – second (0-59)
29
30 start_date (datetime|str) – earliest possible date/time to trigger on (inclusive)
31 end_date (datetime|str) – latest possible date/time to trigger on (inclusive)
32 timezone (datetime.tzinfo|str) – time zone to use for the date/time calculations (defaults to scheduler timezone)
33
34 * any Fire on every value
35 */a any Fire every a values, starting from the minimum
36 a-b any Fire on any value within the a-b range (a must be smaller than b)
37 a-b/c any Fire every c values within the a-b range
38 xth y day Fire on the x -th occurrence of weekday y within the month
39 last x day Fire on the last occurrence of weekday x within the month
40 last day Fire on the last day within the month
41 x,y,z any Fire on any matching expression; can combine any number of any of the above expressions
42 '''
43
44 print('Press Ctrl+{0} to exit'.format('Break' if os.name == 'nt' else 'C'))
45
46 try:
47 scheduler.start() #采用的是阻塞的方式,只有一个线程专职做调度的任务
48 except (KeyboardInterrupt, SystemExit):
49 # Not strictly necessary if daemonic mode is enabled but should be done if possible
50 scheduler.shutdown()
51 print('Exit The Job!')

django定时任务python调度框架APScheduler使用详解的更多相关文章
- python调度框架APScheduler使用详解
# coding=utf-8 """ Demonstrates how to use the background scheduler to schedule a job ...
- 定时任务框架APScheduler学习详解
APScheduler简介 在平常的工作中几乎有一半的功能模块都需要定时任务来推动,例如项目中有一个定时统计程序,定时爬出网站的URL程序,定时检测钓鱼网站的程序等等,都涉及到了关于定时任务的问题,第 ...
- python爬虫框架scrapy实例详解
生成项目scrapy提供一个工具来生成项目,生成的项目中预置了一些文件,用户需要在这些文件中添加自己的代码.打开命令行,执行:scrapy st... 生成项目 scrapy提供一个工具来生成项目,生 ...
- Django框架 之 querySet详解
Django框架 之 querySet详解 浏览目录 可切片 可迭代 惰性查询 缓存机制 exists()与iterator()方法 QuerySet 可切片 使用Python 的切片语法来限制查询集 ...
- Python API 操作Hadoop hdfs详解
1:安装 由于是windows环境(linux其实也一样),只要有pip或者setup_install安装起来都是很方便的 >pip install hdfs 2:Client——创建集群连接 ...
- java的集合框架最全详解
java的集合框架最全详解(图) 前言:数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作 ...
- Python安装、配置图文详解(转载)
Python安装.配置图文详解 目录: 一. Python简介 二. 安装python 1. 在windows下安装 2. 在Linux下安装 三. 在windows下配置python集成开发环境(I ...
- 【和我一起学python吧】Python安装、配置图文详解
Python安装.配置图文详解 目录: 一. Python简介 二. 安装python 1. 在windows下安装 2. 在Linux下安装 三. 在windows下配置python集成开发环境( ...
- Python中的高级数据结构详解
这篇文章主要介绍了Python中的高级数据结构详解,本文讲解了Collection.Array.Heapq.Bisect.Weakref.Copy以及Pprint这些数据结构的用法,需要的朋友可以参考 ...
随机推荐
- 【java】java反射机制,动态获取对象的属性和对应的参数值,并属性按照字典序排序,Field.setAccessible()方法的说明【可用于微信支付 签名生成】
方法1:通过get()方法获取属性值 package com.sxd.test.controller; public class FirstCa{ private Integer num; priva ...
- ServicePointManager.ServerCertificateValidationCallback 冲突的解决
ServicePointManager是用于创建. 维护和删除的实例的静态类ServicePoint类. 当应用程序请求对 Internet 资源统一资源标识符 (URI) 的连接通过ServiceP ...
- form表单提交之前判断
1.使用onsubmit方法 <form name="Form" action="t" method="post" onsubmit= ...
- [置顶]
python3 django models保存filefiled字段统一目录、不修改文件名的方法
最经编写一个model时处理filefiled,使用post_form.save()进行新增和编辑文件保存位置不统一,如果出现重复文件名重复的话,上传文件名会被改名. 现有代码如下: models.p ...
- PHP模板解析入门
学习:李炎恢PHP视频第二季 模板引擎的特点: 1.鼓励分离:让更个系统的可读性和维护性得到提高. 2.促进分工:使得程序员和美工去专心处理自己的设计. 3.比PHP更容易解析:编译文件和缓存文件加载 ...
- vim 注释取消注释多行
按下ctrl+v选中多行,按大写I(必须是大写的I)进入编辑模式,输入注释符号如#,最后按下esc退出就完成了 取消注释一样按下ctrl+v选中,按d删除
- Hive图形化界面客户端
通过JDBC连接HiveServer2的图形界面工具,包括:SQuirrel SQL Client.Oracle SQL Developer以及DbVisualizer SQuirrel SQL Cl ...
- StringBuilder.append()与String的"+"的效率PK
如果String通过"+"来拼接,如果拼接的字符串是常量,则效率会非常高,因为会进行编译时优化,这个时候StringBuilder的append()是达不到的. 如果将String ...
- ElastcSearch的Mapping映射建立
根据oracle的字段来建立ElasticSearch的Mapping public class Start { private static Logger log = LoggerFactory.g ...
- angular 中的$event 对象包含了浏览器原生的event对象
ou can pass the $event object as an argument when calling the function. The $event object contains t ...