14 lines
612 B
Python
14 lines
612 B
Python
import os,subprocess,signal
|
|
proxy=subprocess.Popen(['python3','/integration/proxy.py'])
|
|
app=subprocess.Popen(['dotnet','src/bin/live_release/SwarmUI.dll','--host','127.0.0.1','--port',os.environ.get('SWARM_PORT','8125'),'--launch_mode','none','--data_dir','/swarm/Data','--loglevel','Warning'])
|
|
def stop(*_):
|
|
for process in (app,proxy):
|
|
if process.poll() is None:process.terminate()
|
|
signal.signal(signal.SIGTERM,stop);signal.signal(signal.SIGINT,stop)
|
|
try:app.wait()
|
|
finally:
|
|
stop()
|
|
for process in (app,proxy):
|
|
try:process.wait(timeout=10)
|
|
except subprocess.TimeoutExpired:process.kill();process.wait()
|