Pthon的定時任務APScheduler的啟動與關閉


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

參考:

Python任務調度模塊 – APScheduler

Stop Advanced Python Scheduler Job After Closing Terminal


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM