2016-05-31 33 views
0

我想每半小時做一份工作。我的應用程序基於Flask,並在Windows上運行。如何每半小時做一份工作

現在我使用Windows調度程序服務爲作業創建任務。

我想知道是否有其他辦法,我可以用瓶的內置函數做循環任務...

對不起,我英文不好。

回答

0

我想知道是否有另一種方法可以使用Flask的內置函數執行[定期]任務。

來有些簡約microframework,我不認爲燒瓶帶有或永遠都會有一個內置功能來安排定期的任務。

慣用的方式是什麼,你已經做了,你寫的一些瓶代碼,可以被稱爲HTTP端點或script,然後用OS調度工具來執行它(例如,在UNIX/Linux Windows Task Schedulercron

否則,Flask可以很好地與其他專門的庫一起工作,如Celery (periodic tasks),它會照顧這些細節並添加一些可能無法提供的功能。

from datetime import timedelta 

CELERYBEAT_SCHEDULE = { 
    'every-half-hour': { 
     'task': 'tasks.your_task', 
     'schedule': timedelta(minutes=30), 
     'args': ('task_arg1', 'task_arg2') 
    }, 
} 

CELERY_TIMEZONE = 'UTC' 
0

我不敢肯定,如果這種幫助,但我一直在測試日程模塊,很容易使用,它工作得很好:

$pip install schedule 

,這是從official documentation一個示例:

import schedule 
import time 

def job(): 
    print("I'm working...") 

schedule.every(30).minutes.do(job) 

while True: 
    schedule.run_pending() 
    time.sleep(1) 

希望這有助於=)