我編寫了這個腳本,以便從特定的ftp上的數據中提取元數據,然後將其保存在特定的目錄中,並等待一個隨機時間並再次提取等等...... 所以有2點: :從特定的ftp提取 第二:保存並等待隨機時間,這取決於所使用的ftp。Python異常後重新啓動線程
有時候我有ftp超時問題。當它發生時,不再有提取,保存或等待線程。其他線程繼續工作,直到它們也遇到超時問題。
我試圖捕捉異常,以便「重新啓動」涉及ftp超時問題的線程。但沒有任何變化。
有人請幫我找到一種方法來「重新啓動」線程?
許多感謝的
class ftp_id(Thread):
def __init__(self, ftpID):
Thread.__init__(self)
self.ftpID = ftpID
def run(self):
while True:
with verrou:
siteID = self.ftpID
directory = str(datetime.now())[:-16].replace('-', '')
filename = siteID + '_' + str(datetime.now())[:-7].replace(':', '').replace(' ', '_').replace('-', '') + '.txt'
dictstr = myExtract(siteID)
myWriteFile(directory, filename, dictstr)
pendingtime = myWaiting(siteID, dictstr)
time.sleep(pendingtime)
except :
self.stop = True
self.stop = False
self.start()
self.join()
thread_01 = ftp_id("ftp-01")
thread_02 = ftp_id("ftp-02")
thread_03 = ftp_id("ftp-03")
thread_04 = ftp_id("ftp-04")
thread_01.start()
thread_02.start()
thread_03.start()
thread_04.start()
thread_01.join()
thread_02.join()
thread_03.join()
thread_04.join()
所以它拋出一個異常?你爲什麼不在''True''循環中有'try-except'模塊? –