Python--定時(shí)任務(wù)

前言

??好久沒更新過博客了庞瘸,最近在忙一些學(xué)習(xí)上的事捧弃,這幾天總有一個(gè)想法,老早之前寫過的一些Python腳本都是一次性或是只能通過接口間接執(zhí)行的擦囊。我會(huì)在想违霞,如果當(dāng)時(shí)我剛好不能上網(wǎng),但是我想執(zhí)行我的腳本瞬场,這可怎么辦买鸽?接口名也那么長(zhǎng),我總不能直接記住吧贯被!我的大腦容量也不夠把畚濉妆艘!把它們都記在手機(jī)上?不太現(xiàn)實(shí)看幼!我寫的大都是解析網(wǎng)頁的腳本批旺,總不能一直通過接口訪問吧?這時(shí)诵姜,定時(shí)任務(wù)就是個(gè)好的幫手汽煮!


開搞

1.裝python解析器都會(huì)吧!

2.重點(diǎn)是flask_apscheduler這個(gè)庫茅诱,這個(gè)庫就是用來進(jìn)行定時(shí)任務(wù)的逗物,不管你是通過cmd還是pycharm裝都行
pycharm 提取碼: 6sx4

注:這個(gè)pycharm是免安裝的,直接解壓就能用瑟俭,并且還是漢化過的翎卓,請(qǐng)各位帶哥自行取用,,用的時(shí)候只要指定自己的解析器就行

3.使用它

3.1必須先引入

from flask import Flask # 用來進(jìn)行web接口的編寫和啟動(dòng)
from flask_apscheduler import APScheduler # 定時(shí)任務(wù)的庫

3.2指明要啟動(dòng)的方法名摆寄,并注冊(cè)定時(shí)任務(wù)

app = Flask(__name__)
scheduler = APScheduler() # 注冊(cè)定時(shí)任務(wù)

3.3在啟動(dòng)方法中使用

if __name__ == "__main__":
    scheduler.init_app(app) # 初始化
    scheduler.add_job(func=job, trigger='interval', seconds=2, id='job_id', kwargs={"i": "job_id"})
    #各參數(shù)說明:方法名 觸發(fā)器 時(shí)間間隔 標(biāo)識(shí)id 方法需要的參數(shù)
    #APScheduler提供了三種任務(wù)觸發(fā)器:
    #data:固定日期觸發(fā)器:任務(wù)只運(yùn)行一次失暴,運(yùn)行完畢自動(dòng)清除;若錯(cuò)過指定運(yùn)行時(shí)間微饥,任務(wù)不會(huì)被創(chuàng)建
    #interval:時(shí)間間隔觸發(fā)器
    #cron:cron風(fēng)格的任務(wù)觸發(fā)

    scheduler.start() # 開啟
    app.run(host='0.0.0.0', port="8080") # web接口的地址和端口

3.4寫方法

def job(i):
    print(str(i))
    l = test()
    print(l)
    if len(l) > 20:  
        scheduler.remove_job(id="job_id")

arr1 = [] # 這個(gè)全局?jǐn)?shù)組是用來返回?cái)?shù)據(jù)從而提供定時(shí)任務(wù)停止的條件

def test():
    for i in range(5):
        if i % 2 == 0:
            arr1.append(i)
    return arr1

3.5結(jié)果如下


還行

全部代碼如下:

from flask import Flask
from flask_apscheduler import APScheduler
import datetime, os

app = Flask(__name__)
scheduler = APScheduler()


def write_log(buf):
    print(buf)
    with open('test.txt', 'a') as f:
        f.write(buf + "\n")


@app.route("/test", methods=['GET', 'POST'])
def index():
    return "hello world"


def job(i):
    print(str(i))
    l = test()
    print(l)
    write_log(str(l) + " " + str(datetime.datetime.now()))
    if len(l) > 20:
        scheduler.remove_job(id="job_id")


arr1 = []


def test():
    for i in range(5):
        if i % 2 == 0:
            arr1.append(i)
    return arr1


if __name__ == "__main__":
    scheduler.init_app(app)
    scheduler.add_job(func=job, trigger='interval', seconds=2, id='job_id', kwargs={"i": "job_id"})
    # 各參數(shù)說明:方法名 觸發(fā)器 時(shí)間間隔 標(biāo)識(shí)id 方法需要的參數(shù)
    # APScheduler提供了三種任務(wù)觸發(fā)器:
    # data:固定日期觸發(fā)器:任務(wù)只運(yùn)行一次逗扒,運(yùn)行完畢自動(dòng)清除;若錯(cuò)過指定運(yùn)行時(shí)間欠橘,任務(wù)不會(huì)被創(chuàng)建
    # interval:時(shí)間間隔觸發(fā)器
    # cron:cron風(fēng)格的任務(wù)觸發(fā)

    scheduler.start()
    app.run(host='0.0.0.0', port="8080")
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載矩肩,如需轉(zhuǎn)載請(qǐng)通過簡(jiǎn)信或評(píng)論聯(lián)系作者。
  • 序言:七十年代末肃续,一起剝皮案震驚了整個(gè)濱河市黍檩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌始锚,老刑警劉巖刽酱,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異瞧捌,居然都是意外死亡棵里,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門姐呐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來殿怜,“玉大人,你說我怎么就攤上這事皮钠∥壤Γ” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵麦轰,是天一觀的道長(zhǎng)乔夯。 經(jīng)常有香客問我砖织,道長(zhǎng),這世上最難降的妖魔是什么末荐? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任侧纯,我火速辦了婚禮,結(jié)果婚禮上甲脏,老公的妹妹穿的比我還像新娘眶熬。我一直安慰自己,他們只是感情好块请,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布娜氏。 她就那樣靜靜地躺著,像睡著了一般墩新。 火紅的嫁衣襯著肌膚如雪贸弥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天海渊,我揣著相機(jī)與錄音绵疲,去河邊找鬼。 笑死臣疑,一個(gè)胖子當(dāng)著我的面吹牛盔憨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播讯沈,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼郁岩,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了缺狠?” 一聲冷哼從身側(cè)響起驯用,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎儒老,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體记餐,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡驮樊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了片酝。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片囚衔。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖雕沿,靈堂內(nèi)的尸體忽然破棺而出练湿,到底是詐尸還是另有隱情,我是刑警寧澤审轮,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布肥哎,位于F島的核電站辽俗,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏篡诽。R本人自食惡果不足惜崖飘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望杈女。 院中可真熱鬧朱浴,春花似錦、人聲如沸达椰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽啰劲。三九已至梁沧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間呈枉,已是汗流浹背趁尼。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留猖辫,地道東北人酥泞。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像啃憎,于是被迫代替她去往敵國和親芝囤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 昨晚凌晨?jī)牲c(diǎn)辛萍,小編接到女神的電話悯姊,心里正心猿意馬,沒想到電話中的女神竟帶著哭腔和我說老板讓她現(xiàn)在就去公司加班贩毕,我很...
    編程小蟬閱讀 966評(píng)論 0 1
  • 前言 本文的文字及圖片來源于網(wǎng)絡(luò),僅供學(xué)習(xí)悯许、交流使用,不具有任何商業(yè)用途,如有問題請(qǐng)及時(shí)聯(lián)系我們以作處理。 PS:...
    小兇許打小腦斧閱讀 411評(píng)論 0 0
  • 一個(gè)簡(jiǎn)單的需求辉阶,即定時(shí)啟動(dòng)python腳本先壕,這種需求很常見,比如定時(shí)啟動(dòng)一段程序?qū)Ψ?wù)器狀態(tài)進(jìn)行收集谆甜,寫到文件中垃僚,...
    ayuLiao閱讀 4,661評(píng)論 0 1
  • 背景 最近有個(gè)需求,需要實(shí)現(xiàn)一個(gè)定時(shí)或定期任務(wù)的功能规辱,需要實(shí)現(xiàn)每月谆棺、每日、每時(shí)罕袋、一次性等需求改淑,必須是輕量級(jí)不依賴其...
    guoweikuang閱讀 8,978評(píng)論 1 8
  • 前言 APScheduler基于Quartz的一個(gè)Python定時(shí)任務(wù)框架碍岔,實(shí)現(xiàn)了Quartz的所有功能,使用起來...
    若小北00閱讀 11,790評(píng)論 0 7