崩溃后Python脚本不会重新启动

时间:2016-12-20 15:13:04

标签: python exception crash ioerror

我有一个python脚本正在做一些名为“python1.py”的东西。有时因为连接问题,它崩溃了。我有另一个名为“loop.py”的脚本,它应该在崩溃并重新启动时监视第一个脚本。到目前为止,它无法重启。意思是,当异常上升时(IOError或WatsonException(我正在使用Watson API))脚本停止

python1.py是这样的:

class PaperStockAmount extends Model
{
    public function paper()
    {
        return $this->hasOne('App\Paper', 'id', 'paper_id');
    }

    public function stock()
    {
        return $this->hasOne('App\PaperStock', 'id', 'stock_id');
    }
}

应该重启第一个脚本的另一个脚本是这样的:

def mainfunction ():
    a = randrange(0, 1)
    Print (' my routine is doing something')
    if a = 1 :
        Print ('a = 1 ')
    else :
        Print (' a is not equals to 1') 

mainfunction ()
每当异常发生时,

python1.py应​​该重新启动,但事实并非如此。

1 个答案:

答案 0 :(得分:0)

我找到了使用python的方式subrpocess它工作得很好,我可以得到预期的工作。

def loopApp():

loop = 1
while loop == 1:
    print "wa_loop is starting"
    try:
        process = subprocess.call(['python', 'wa_dir_watch.py'])
    except 'IOError':
        print ("\nretrying after IOError")
        continue         
    except KeyboardInterrupt:
        print ("\nstopped by user Ctr+C")
        quit() 

def loopApp():