欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

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

系統(tǒng) 2314 0

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

            
#BlockingScheduler定時(shí)任務(wù)
from apscheduler.schedulers.blocking import BlockingScheduler
from datetime import datetime
首先看看周一到周五定時(shí)執(zhí)行任務(wù)
# 輸出時(shí)間
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'  這里可以填寫(xiě)數(shù)字,也可以填寫(xiě)字符串
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點(diǎn),每一分鐘執(zhí)行一次任務(wù)
scheduler .add_job(func=job, trigger='cron', month='1,3,5,7-9', day='*', hour='14', minute='*')

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

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

#自制定時(shí)器
 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下實(shí)現(xiàn)定時(shí)任務(wù)的方式有很多種方式。

循環(huán)sleep:

這是一種最簡(jiǎn)單的方式,在循環(huán)里放入要執(zhí)行的任務(wù),然后sleep一段時(shí)間再執(zhí)行。缺點(diǎn)是,不容易控制,而且sleep是個(gè)阻塞函數(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能夠幫助實(shí)現(xiàn)定時(shí)任務(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)度(延時(shí)處理機(jī)制)。

            
# -*- coding:utf-8 -*-
# use sched to timing
import time
import os
import sched
 
 
# 初始化sched模塊的scheduler類(lèi)
# 第一個(gè)參數(shù)是一個(gè)可以返回時(shí)間戳的函數(shù),第二個(gè)參數(shù)可以在定時(shí)未到達(dá)之前阻塞。
schedule = sched.scheduler(time.time, time.sleep)
 
 
# 被周期性調(diào)度觸發(fā)的函數(shù)
def execute_command(cmd, inc):
  '''
  終端上顯示當(dāng)前計(jì)算機(jī)的連接情況
  '''
  os.system(cmd)
  schedule.enter(inc, 0, execute_command, (cmd, inc))
 
 
def main(cmd, inc=60):
  # enter四個(gè)參數(shù)分別為:間隔事件、優(yōu)先級(jí)(用于同時(shí)間到達(dá)的兩個(gè)事件同時(shí)執(zhí)行時(shí)定序)、被調(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)


          

使用定時(shí)框架APScheduler:

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

這個(gè)現(xiàn)在還沒(méi)自己嘗試過(guò),等過(guò)段時(shí)間用了再來(lái)補(bǔ)充。

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

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

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

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

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


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 亚洲国产精品99久久久久久久久 | 国产欧美日本亚洲精品五区 | 性猛交ⅹxxx乱巴西 无人精品乱码一区二区三区 | 中文字幕视频在线观看 | 国产精品成人va在线观看入口 | 国产乱色精品成人免费视频 | 午夜天堂精品久久久久 | 毛片.com| 国产视频91在线 | 国产理论自拍 | 小明台湾www永久视频 | 免费人成年短视频在线观看免费网站 | 免费视频拗女稀缺一区二区 | 91se在线看片国产免费观看 | 91视频合集 | 色在线视频 | 美国一级大黄 | 日本黄页免费大片在线观看 | 中文字幕伊人久久网 | 免费看黄色网页 | 波多野结衣全部系列在线观看 | 毛片免费看电影 | 精品国产一区二区三区免费 | 欧美激情精品久久久久久变态 | 欧洲怡红院 | 国产色| 成人中文字幕在线 | 色AV亚洲AV永久无码精品软件 | naruto henta | 亚洲一区二区三区在线播放 | 欧美在线 | 亚洲 | 草草线在成人免费视频 | 一区二区三区免费看 | 成人免费观看网欧美片 | 精品一区二区三区在线视频 | 999久久久国产精品 成人不卡视频 | 亚洲欧美精品综合中文字幕 | 一级片一级片一级片一级片 | 激情五月色婷婷在线观看 | 日韩精品手机在线 | 国产成人偷拍 |