fix: dau_engine de quy spawn vo han + load rat cham (ban 1.1.2)
Trieu chung tu user: Task Manager day daw_engine process, port 8000->8005 leo thang, engine.log co engine moi moi ~2.5-3.3s trong nhieu phut. Goc re: app/core/vst_engine.py module-level: HAS_PEDALBOARD = check_pedalboard_safe() -> subprocess.run([sys.executable, '-c', 'import pedalboard'], timeout=2.0) Khi frozen, sys.executable = daw_engine.exe. PyInstaller bootloader bo qua '-c' va chay script nhung (desktop_engine.py = CA ENGINE) -> moi lan check thu vien lai khoi dong mot engine moi (timeout 2s moi check, block startup ~4s) -> engine con import app.main -> lai chay check -> spawn tiep => de quy vo han, hang chuc engine, may nghen, load 6-7.5s. Fix: - vst_engine: check_pedalboard_safe/check_pyfluidsynth_safe dung importlib.util.find_spec (micro-giay, khong spawn, hoat dong frozen). - desktop_engine.main(): guard phong thu - neu bi goi voi argv[1]=='-c' (dang bi dung nhu python interpreter) thi thoat ngay khong chay server. Verify tren Linux (engine frozen): - STARTUP: 6-7.5s -> 1.24-1.33s (3 lan lien tiep) - sau 15s: dung 1 engine, 0 process '-c import' (truoc: hang chuc) - 86 tests pass; test suite 34s -> 14s (may het bi spam).
This commit is contained in:
@@ -52,6 +52,13 @@ def _parent_alive(pid):
|
||||
|
||||
|
||||
def main():
|
||||
# PHONG THU (fix ban 1.1.2): neu exe bi goi nhu 'python -c ...' — vd code
|
||||
# cu kiem tra thu vien bang subprocess.run([sys.executable, '-c', 'import X'])
|
||||
# thi frozen sys.executable = daw_engine.exe -> se chay CA ENGINE o day.
|
||||
# Thoat ngay, KHONG khoi dong server, tranh de quy spawn vo han.
|
||||
if len(sys.argv) > 1 and sys.argv[1] == "-c":
|
||||
return
|
||||
|
||||
os.environ.setdefault("SF_DESKTOP", "1")
|
||||
|
||||
# Log dir tao SOM de stderr co the tro vao file (xem duoi).
|
||||
|
||||
Reference in New Issue
Block a user