鍍金池/ 問答/Python/ Python3.6 怎樣設(shè)置函數(shù)運(yùn)行超時(shí)退出?

Python3.6 怎樣設(shè)置函數(shù)運(yùn)行超時(shí)退出?

現(xiàn)有一個(gè)自動(dòng)讀取數(shù)據(jù)庫并生成word的程序,但執(zhí)行時(shí)發(fā)現(xiàn)偶爾會(huì)卡住,如果我要批量運(yùn)行這一程序,怎樣設(shè)置60s不結(jié)束就退出?

回答
編輯回答
安于心
2018年3月4日 00:45
編輯回答
落殤

參考:Python 信號(hào)處理 signal 模塊

import signal

def generate_word_documents():
    # generate
    
def signal_handler(signum, frame):
    raise Exception("time out")

signal.signal(signal.SIGALRM, signal_handler)
signal.alarm(60)   

try:
    generate_word_documents()
except :
    # regenerate or exit

效果:

2018年6月30日 05:22
編輯回答
話寡

timeout-decorator 庫可以設(shè)置函數(shù)的運(yùn)行超時(shí)時(shí)間:https://pypi.python.org/pypi/...

2017年7月29日 05:57