Pthon的定時任務APScheduler的啟動與關閉
安裝:
sudo pip install apscheduler
使用:
直接運行Python文件即可,如 python XXX.py
,XXX.py為你的Python文件
使用實例
#coding=utf-8
from apscheduler.schedulers.blocking import BlockingScheduler
from datetime import datetime
import time
import os
class spider(object):
def tick(self):
print('Test APScheduler - time is: %s' % datetime.now())
def runapp():
mySpider = spider()
mySpider.tick()
if __name__ == '__main__':
scheduler = BlockingScheduler()
scheduler.add_job(runapp,'cron', second='*/3', hour='*')
print('Press Ctrl+{0} to exit'.format('Break' if os.name == 'nt' else 'C'))
try:
scheduler.start()
except (KeyboardInterrupt, SystemExit):
scheduler.shutdown()
詳細的具體使用可參照后文的鏈接
注意,我們在終端中執行的話,直接關閉終端窗口,Python任務是會中斷的。以下是解決方案
在您關閉終端,Python進程會被殺死,程序將停止運行。所以建議使用以下的方法運行,
python scrip.py &
這樣即使關閉了終端窗口,程序也不受到影響,當我們想強制停止程序的時候,可以使用以下的指令:
ps -e | grep python
終端中輸出:
88264 ?? 0:00.21 /Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -u /Users/***/APScheduler_back.py
89726 ttys001 0:00.00 grep python
再使用以下結束Python的進程:
kill 88264
參考: