激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 詳解python調度框架APScheduler使用

詳解python調度框架APScheduler使用

2020-09-27 10:41帥胡 Python

本篇文章主要介紹了詳解python調度框架APScheduler使用,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

最近在研究python調度框架APScheduler使用的路上,那么今天也算個學習筆記吧!

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

非阻塞調度,在指定的時間執行一次

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

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

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

阻塞的方式,間隔3秒執行一次

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

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

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

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/hushaojun/p/5189109.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产 日韩 一区 | 免费国产视频在线观看 | av最新在线观看 | 久久污 | 精品一区二区久久久久久按摩 | 一级黄色淫片 | 蜜桃久久一区二区三区 | 国产一区精品在线观看 | 免费欧美一级视频 | 亚洲人片在线观看 | 久久人人爽人人爽人人片av免费 | 99视频网址| 国产青草视频在线观看 | 国产88久久久国产精品免费二区 | 色中色综合 | 国产精品999在线观看 | 在线成人免费观看视频 | 免费毛片随便看 | 一起草av在线 | 国产欧美一区二区三区免费看 | 国产精品麻豆一区二区三区 | av免费在线免费观看 | 国产91久久精品一区二区 | a级毛片免费观看在线播放 日本aaa一级片 | 亚洲精品毛片一区二区三区 | 护士hd欧美free性xxxx | 欧美日韩一 | 天天舔天天插 | 亚洲αv | 一级一级一级一级毛片 | 91看片淫黄大片欧美看国产片 | 中文字幕在线观看免费视频 | 狠狠久久 | 久久精品视频一区二区三区 | 99国内精品 | 国产日产精品一区四区介绍 | www.91成人| 国产精品久久久久久久久久久久久久久久 | 99久久婷婷国产综合精品青牛牛 | 天天看夜夜爽 | 久久精品在线免费观看 |