我有一個到目前爲止工作得很好的python腳本。但是,我的程序沒有正確退出。我可以調試,直到我回到最後,但程序繼續運行。 main.main()做了很多工作:它從數據提供者下載(http,ftp,sftp,...)一些csv文件,將數據轉換成標準化的文件格式,並將所有的數據加載到數據庫中。程序不會退出。如何找出python在做什麼?
這工作正常。但是,該程序不會退出。我怎樣才能知道程序在哪裏「等待」? 存在着不止一個供應商 - 腳本正確終止所有供應商除了一個(SFTP下載,我使用的paramiko)
if __name__ == "__main__":
main.log = main.log2both
filestoconvert = []
#filestoconvert = glob.glob(r'C:\Data\Feed\ProviderName\download\*.csv')
main.main(['ProviderName'], ['download', 'convert', 'load'], filestoconvert)
我很高興的任何想法和意見!
您可以簡單地添加一個信號,經過一段時間後,將退出腳本。如果它在兩分鐘內無法到達提供者,它將運行'sys.exit(1)'並將其記錄在某處,但不會像現在那樣掛斷。如果你想讓我寫一個例子,我可以給出一個完整的答案。 – Gandi
好吧,這聽起來很合理,謝謝。但我仍然想知道發生了什麼。定時sys.exit將是一個「解決方法」,如果我不知道是什麼導致這種行爲。 – andrew