Django:获取从一个视图启动的子进程(正在运行/完成)的状态,并将其显示到另一个视图中

问题描述 投票:0回答:1

我想从特定的URL(例如:'localhost:8000 / start')启动子流程。

子进程的状态(即子进程正在运行或已完成)应显示在另一个URL上(例如:'localhost:8000 / status')。

我已经开始了子过程。但是我正在努力在另一个URL中显示状态。

有什么方法可以实现?

python django subprocess
1个回答
0
投票

根据OP的评论说明

@@ Saharsh out = Popen(['python', 'script.py'],shell=False,stdout=PIPE,universal_newlines=True)这就是我启动子流程的方式。

您可能要检查Popen.poll()方法。如果进程仍在运行,它将返回None,否则返回状态(例如0)。

out = Popen(['python', 'script.py'],shell=False,stdout=PIPE,universal_newlines=True)
...

def process_finished(process):
    if process.poll()==None:
        return False
    return True

查看文档中的Popen了解更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.