\Добавлена поддержка WORKER_QUIT_TIMEOUT_SECONDES и Next.js standalone режима\
Browse files
app.py
CHANGED
@@ -39,6 +39,7 @@ def main():
|
|
39 |
api_server_env["LOG_PATH"] = log_dir
|
40 |
api_server_env["LOG_STDOUT"] = "true"
|
41 |
api_server_env["WORKERS_MAX"] = "4" # Устанавливаем значение для WORKERS_MAX
|
|
|
42 |
api_server_process = subprocess.Popen([str(api_binary)], env=api_server_env)
|
43 |
processes.append(api_server_process)
|
44 |
|
@@ -52,12 +53,23 @@ def main():
|
|
52 |
playground_env["NODE_ENV"] = "production" # Убедимся, что запускаем в production режиме
|
53 |
playground_env["PORT"] = "3000" # Указываем порт через переменную окружения
|
54 |
|
55 |
-
#
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
processes.append(playground_process)
|
62 |
|
63 |
# Даем время Playground UI запуститься
|
@@ -221,11 +233,19 @@ def main():
|
|
221 |
|
222 |
if not playground_process.poll() is None:
|
223 |
print("Playground UI has stopped, restarting...")
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
229 |
processes = [p for p in processes if p != playground_process]
|
230 |
processes.append(playground_process)
|
231 |
|
|
|
39 |
api_server_env["LOG_PATH"] = log_dir
|
40 |
api_server_env["LOG_STDOUT"] = "true"
|
41 |
api_server_env["WORKERS_MAX"] = "4" # Устанавливаем значение для WORKERS_MAX
|
42 |
+
api_server_env["WORKER_QUIT_TIMEOUT_SECONDES"] = "30" # Добавляем timeout для воркеров
|
43 |
api_server_process = subprocess.Popen([str(api_binary)], env=api_server_env)
|
44 |
processes.append(api_server_process)
|
45 |
|
|
|
53 |
playground_env["NODE_ENV"] = "production" # Убедимся, что запускаем в production режиме
|
54 |
playground_env["PORT"] = "3000" # Указываем порт через переменную окружения
|
55 |
|
56 |
+
# Проверяем наличие standalone режима
|
57 |
+
standalone_path = playground_dir / ".next" / "standalone" / "server.js"
|
58 |
+
if standalone_path.exists():
|
59 |
+
print("Using Next.js standalone mode...")
|
60 |
+
# Запускаем Next.js в standalone режиме
|
61 |
+
playground_process = subprocess.Popen(
|
62 |
+
"cd /app/playground && node .next/standalone/server.js",
|
63 |
+
shell=True,
|
64 |
+
env=playground_env
|
65 |
+
)
|
66 |
+
else:
|
67 |
+
# Запускаем Next.js в обычном режиме
|
68 |
+
playground_process = subprocess.Popen(
|
69 |
+
"cd /app/playground && pnpm start",
|
70 |
+
shell=True,
|
71 |
+
env=playground_env
|
72 |
+
)
|
73 |
processes.append(playground_process)
|
74 |
|
75 |
# Даем время Playground UI запуститься
|
|
|
233 |
|
234 |
if not playground_process.poll() is None:
|
235 |
print("Playground UI has stopped, restarting...")
|
236 |
+
# Проверяем наличие standalone режима
|
237 |
+
if standalone_path.exists():
|
238 |
+
playground_process = subprocess.Popen(
|
239 |
+
"cd /app/playground && node .next/standalone/server.js",
|
240 |
+
shell=True,
|
241 |
+
env=playground_env
|
242 |
+
)
|
243 |
+
else:
|
244 |
+
playground_process = subprocess.Popen(
|
245 |
+
"cd /app/playground && pnpm start",
|
246 |
+
shell=True,
|
247 |
+
env=playground_env
|
248 |
+
)
|
249 |
processes = [p for p in processes if p != playground_process]
|
250 |
processes.append(playground_process)
|
251 |
|