Merge pull request #60 from yuruotong1/dev

Dev
This commit is contained in:
Dongle
2025-03-07 10:31:05 +08:00
committed by GitHub
2 changed files with 25 additions and 24 deletions

View File

@@ -316,6 +316,3 @@ def run():
stop_button.click(stop_app, [state], None)
base_url.change(fn=update_base_url, inputs=[base_url, state], outputs=None)
demo.launch(server_name="0.0.0.0", server_port=7888)
if __name__ == "__main__":
demo.launch(server_name="0.0.0.0", server_port=7888)

46
main.py
View File

@@ -24,34 +24,38 @@ def run():
text=True
)
stdout_thread = Thread(
target=stream_reader,
args=(server_process.stdout, "SERVER-OUT")
)
stderr_thread = Thread(
target=stream_reader,
args=(server_process.stderr, "SERVER-ERR")
)
stdout_thread.daemon = True
stderr_thread.daemon = True
stdout_thread.start()
stderr_thread.start()
try:
# 下载权重文件
download_weights.download()
print("启动Omniserver服务中约5分钟左右因为加载模型真的超级慢,请耐心等待!")
# 等待 server_process 打印出 "Started server process"
print("启动Omniserver服务中因为加载模型真的超级慢请耐心等待")
while True:
res = requests.get("http://127.0.0.1:8000/probe/")
if res.status_code == 200 and res.json().get("message", None):
print("Omniparser服务启动成功...")
break
try:
res = requests.get("http://127.0.0.1:8000/probe/", timeout=5)
if res.status_code == 200:
print("Omniparser服务启动成功...")
break
except (requests.ConnectionError, requests.Timeout):
pass
if server_process.poll() is not None:
raise RuntimeError("Server process terminated unexpectedly")
time.sleep(5)
raise RuntimeError(f"服务器进程报错退出:{server_process.returncode}")
print("等待服务启动...")
time.sleep(10)
stdout_thread = Thread(
target=stream_reader,
args=(server_process.stdout, "SERVER-OUT")
)
stderr_thread = Thread(
target=stream_reader,
args=(server_process.stderr, "SERVER-ERR")
)
stdout_thread.daemon = True
stderr_thread.daemon = True
stdout_thread.start()
stderr_thread.start()
app.run()
finally:
if server_process.poll() is None: # 如果进程还在运行