繁体   English   中英

重新启动python脚本

[英]Restart python script

我有一个从流API收集数据的脚本。 我随机收到一个错误,我认为它是出于任何原因都来自Twitter的结尾。 它不是在特定的时间发生的,早在运行脚本后的10分钟就可以看到它,而在2个小时后的其他时间里就可以看到它。

我的问题是我如何创建另一个脚本(正在运行的脚本之外),该脚本可以捕获是否因错误而终止,然后在延迟后重新启动。

我进行了一些搜索,大部分与在Windows上使用bash有关。 其他建议是使用Windows Task Scheduler,但只能将其设置为已知时间。

我遇到以下代码:

import os, sys, time

def main():  
    print "AutoRes is starting"
    executable = sys.executable
    args = sys.argv[:]
    args.insert(0, sys.executable)

    time.sleep(1)
    print "Respawning"
    os.execvp(executable, args)

if __name__ == "__main__":  
    main()

如果我没记错的话,代码内部是否正确运行? 问题在于我的脚本当前正在收集数据,我无法终止进行编辑。

这个怎么样?

from os import system
from time import sleep

while True: #manually terminate when you want to stop streaming
    system('python streamer.py')
    sleep(300) #sleep for 5 minutes

同时,当streamer.py出现问题时,通过调用sys.exit(1)从那里结束它

确保此文件和streamer.py在同一目录中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM