最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python BlockingScheduler定時任務(wù)及其他方式的實現(xiàn)

 更新時間:2019年09月19日 14:54:35   作者:白熊花田  
這篇文章主要介紹了python BlockingScheduler定時任務(wù)及其他方式的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

本文介紹了python BlockingScheduler定時任務(wù)及其他方式的實現(xiàn),具體如下:

#BlockingScheduler定時任務(wù)
from apscheduler.schedulers.blocking import BlockingScheduler
from datetime import datetime
首先看看周一到周五定時執(zhí)行任務(wù)
# 輸出時間
def job():
  print(datetime.now().strtime("%Y-%m-%d %H:%M:%S"))
# BlockingScheduler
scheduler = BlockingScheduler()
scheduler.add_job(job, "cron", day_of_week="1-5", hour=6, minute=30)
schduler.start()


scheduler.add_job(job, 'cron', hour=1, minute=5)
hour =19 , minute =23  這里表示每天的19:23 分執(zhí)行任務(wù)
hour ='19', minute ='23'  這里可以填寫數(shù)字,也可以填寫字符串
hour ='19-21', minute= '23'  表示 19:23、 20:23、 21:23 各執(zhí)行一次任務(wù)

#每300秒執(zhí)行一次
scheduler .add_job(job, 'interval', seconds=300)

#在1月,3月,5月,7-9月,每天的下午2點,每一分鐘執(zhí)行一次任務(wù)
scheduler .add_job(func=job, trigger='cron', month='1,3,5,7-9', day='*', hour='14', minute='*')

# 當(dāng)前任務(wù)會在 6、7、8、11、12 月的第三個周五的 0、1、2、3 點執(zhí)行
scheduler .add_job(job, 'cron', month='6-8,11-12', day='3rd fri', hour='0-3')

#從開始時間到結(jié)束時間,每隔倆小時運行一次
scheduler .add_job(job, 'interval', hours=2, start_date='2018-01-10 09:30:00', end_date='2018-06-15 11:00:00')

#自制定時器
 from datetime import datetime
 import time
 # 每n秒執(zhí)行一次
 def timer(n):
   while True:
     print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
     time.sleep(n)

timer(5)

Python下實現(xiàn)定時任務(wù)的方式有很多種方式。

循環(huán)sleep:

這是一種最簡單的方式,在循環(huán)里放入要執(zhí)行的任務(wù),然后sleep一段時間再執(zhí)行。缺點是,不容易控制,而且sleep是個阻塞函數(shù)。

def timer(n):
  '''
  每n秒執(zhí)行一次
  '''
  while True: 
    print time.strftime('%Y-%m-%d %X',time.localtime()) 
    yourTask() # 此處為要執(zhí)行的任務(wù) 
    time.sleep(n) 

threading的Timer:

threading模塊中的Timer能夠幫助實現(xiàn)定時任務(wù),而且是非阻塞的。

比如3秒后打印helloworld:

def printHello():
  print "hello world"
 
 
Timer(3, printHello).start()

比如每3秒打印一次helloworld:

def printHello():
  print "Hello World"
  t = Timer(2, printHello)
  t.start()
 
 
if __name__ == "__main__":
  printHello()

使用sched模塊:

sched是一種調(diào)度(延時處理機(jī)制)。

# -*- coding:utf-8 -*-
# use sched to timing
import time
import os
import sched
 
 
# 初始化sched模塊的scheduler類
# 第一個參數(shù)是一個可以返回時間戳的函數(shù),第二個參數(shù)可以在定時未到達(dá)之前阻塞。
schedule = sched.scheduler(time.time, time.sleep)
 
 
# 被周期性調(diào)度觸發(fā)的函數(shù)
def execute_command(cmd, inc):
  '''
  終端上顯示當(dāng)前計算機(jī)的連接情況
  '''
  os.system(cmd)
  schedule.enter(inc, 0, execute_command, (cmd, inc))
 
 
def main(cmd, inc=60):
  # enter四個參數(shù)分別為:間隔事件、優(yōu)先級(用于同時間到達(dá)的兩個事件同時執(zhí)行時定序)、被調(diào)用觸發(fā)的函數(shù),
  # 給該觸發(fā)函數(shù)的參數(shù)(tuple形式)
  schedule.enter(0, 0, execute_command, (cmd, inc))
  schedule.run()
 
 
# 每60秒查看下網(wǎng)絡(luò)連接情況
if __name__ == '__main__':
  main("netstat -an", 60)

使用定時框架APScheduler:

APScheduler是基于Quartz的一個Python定時任務(wù)框架。提供了基于日期、固定時間間隔以及crontab類型的任務(wù),并且可以持久化任務(wù)。

這個現(xiàn)在還沒自己嘗試過,等過段時間用了再來補(bǔ)充。

使用windows的定時任務(wù):

這里可以將所需要的Python程序打包成exe文件,然后在windows下設(shè)置定時執(zhí)行。

使用Linux的定時任務(wù)(Crontab):

在Linux下可以很方便的借助Crontab來設(shè)置和運行定時任務(wù)。進(jìn)入Crontab文件編輯頁面,設(shè)置時間間隔,使用一些shell命令來運行bash腳本或者是Python腳本,保存后Linux會自動按照設(shè)定的時間來定時運行程序。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python實現(xiàn)字符串和字典的轉(zhuǎn)換

    python實現(xiàn)字符串和字典的轉(zhuǎn)換

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)字符串和字典的轉(zhuǎn)換,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Python批量修改文件名案例匯總

    Python批量修改文件名案例匯總

    在文件管理和數(shù)據(jù)處理中,批量修改文件名是一項常見且重要的任務(wù),Python作為一種功能強(qiáng)大的編程語言,提供了豐富的庫和工具來簡化這一過程,本文將結(jié)合實際案例,詳細(xì)介紹如何通過Python批量修改文件名,需要的朋友可以參考下
    2024-08-08
  • Python接口測試環(huán)境搭建過程詳解

    Python接口測試環(huán)境搭建過程詳解

    這篇文章主要介紹了Python接口測試環(huán)境搭建過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • Python字典操作得力助手Get()函數(shù)的使用

    Python字典操作得力助手Get()函數(shù)的使用

    在Python編程中,get()函數(shù)是字典(Dictionary)對象中非常有用的函數(shù),本文將詳細(xì)介紹get()函數(shù)的用法及示例代碼,感興趣的可以了解一下
    2023-11-11
  • 利用Python第三方庫xlwt寫入數(shù)據(jù)到Excel工作表實例代碼

    利用Python第三方庫xlwt寫入數(shù)據(jù)到Excel工作表實例代碼

    大家應(yīng)該都知道xlwt是python中寫入到excel的庫,下面這篇文章主要給大家介紹了關(guān)于利用Python第三方庫xlwt寫入數(shù)據(jù)到Excel工作表的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • 簡單了解如何封裝自己的Python包

    簡單了解如何封裝自己的Python包

    這篇文章主要介紹了簡單了解如何封裝自己的Python包,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • python 上下文管理器及自定義原理解析

    python 上下文管理器及自定義原理解析

    這篇文章主要介紹了python 上下文管理器原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Pygame中畫圓弧的方法

    Pygame中畫圓弧的方法

    本文主要介紹了Pygame中畫圓弧的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • 在python 不同時區(qū)之間的差值與轉(zhuǎn)換方法

    在python 不同時區(qū)之間的差值與轉(zhuǎn)換方法

    今天小編就為大家分享一篇在python 不同時區(qū)之間的差值與轉(zhuǎn)換方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python基于socket實現(xiàn)網(wǎng)絡(luò)廣播的方法

    python基于socket實現(xiàn)網(wǎng)絡(luò)廣播的方法

    這篇文章主要介紹了python基于socket實現(xiàn)網(wǎng)絡(luò)廣播的方法,涉及Python操作socket的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04

最新評論

临桂县| 亚东县| 四平市| 巴东县| 保康县| 河北区| 仁怀市| 宜黄县| 洪洞县| 交口县| 郁南县| 伊川县| 汉寿县| 丰镇市| 从江县| 阿拉善右旗| 通辽市| 云霄县| 呈贡县| 剑河县| 贵州省| 芒康县| 兰溪市| 河津市| 裕民县| 伊吾县| 祁连县| 大邑县| 即墨市| 桐城市| 祁连县| 化德县| 忻城县| 梅河口市| 陈巴尔虎旗| 南木林县| 沁源县| 阳东县| 旅游| 扬州市| 娱乐|