我有一个到目前为止工作得很好的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