|
import subprocess |
|
import select |
|
from hf_api import restart_space |
|
|
|
try: |
|
|
|
process = subprocess.Popen(["python", "sub_app.py"], |
|
stdout=subprocess.PIPE, |
|
stderr=subprocess.PIPE, |
|
bufsize=1, universal_newlines=True) |
|
while process.poll() is None: |
|
|
|
ready_reads, _, _ = select.select([process.stdout, process.stderr], [], [], 1.0) |
|
for ready in ready_reads: |
|
|
|
output = ready.readline() |
|
if output: |
|
print(output, end='') |
|
|
|
|
|
for output in process.stdout.readlines() + process.stderr.readlines(): |
|
print(output, end='') |
|
|
|
|
|
if process.returncode == 0: |
|
print("Process has terminated successfully.") |
|
else: |
|
print(f"Process has terminated with an error. {process.returncode}") |
|
|
|
finally: |
|
restart_space() |
|
|