亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python的APScheduler框架,如何接收鍵盤信號停止運行

python的APScheduler框架,如何接收鍵盤信號停止運行

繁花不似錦 2019-04-16 17:05:34
啥也不說了,先貼代碼:defmonitor(client):run_heartbeat=client.run.heartbeatetc_rpc=client.etc.rpcdocument=etc_rpc.find_one({'server':'taskmanager'})rpc=document['host']+':'+document['port']ifprocess_ok('taskmanager'):run_heartbeat.update({'process':'taskmanager','rpc':rpc},{'$set':{'selftesttime':datetime.datetime.now().strftime('%Y-%m-%d%H:%M:%S'),'selftest':'ok'}})logging.info("update:selftestis'ok'")print"update:run_heartbeat.taskmanager.selftestis'ok'"else:run_heartbeat.update({'process':'taskmanager','rpc':rpc},{'$set':{'selftesttime':datetime.datetime.now().strftime('%Y-%m-%d%H:%M:%S'),'selftest':'processerror'}})logging.info("update:selftestis'processerror'")print"update:run_heartbeat.taskmanager.selftestis'processerror'"if__name__=="__main__":print"TaskMonitorbeginning......"sched=Scheduler()sched.daemonic=Falsesched.add_interval_job(monitor,seconds=int(tasktime),args=[client])sched.start()功能:每隔tasktime秒就運行一次monitor函數期望結果:在運行過程中通過CTRL+C停止求大神解決辦法!
查看完整描述

2 回答

?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

安裝一個signalhandler即可
importsignal,os
defhandler(signum,frame):
print"gotsignal",signum
ifsignum==signal.SIGINT:
print"gotCtrl+C,wewillquit"
os._exit(1)
signal.signal(signal.SIGINT,handler)
if__name__=='__main__':
importtime
whileTrue:
time.sleep(1)
                            
查看完整回答
反對 回復 2019-04-16
  • 2 回答
  • 0 關注
  • 360 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號