Исправление ошибки создания директории для логов API сервера
Browse files- fallback.py +23 -3
fallback.py
CHANGED
@@ -21,12 +21,16 @@ def create_user_directory():
|
|
21 |
server_bin_dir = user_dir / "server" / "bin"
|
22 |
server_bin_dir.mkdir(exist_ok=True, parents=True)
|
23 |
|
|
|
|
|
|
|
|
|
24 |
# Создаем директорию для кэша Go
|
25 |
go_cache_dir = Path("/tmp/go-cache")
|
26 |
go_cache_dir.mkdir(exist_ok=True, parents=True)
|
27 |
|
28 |
print(f"Created directory structure at {user_dir}")
|
29 |
-
return user_dir, agents_dir, server_bin_dir, go_cache_dir
|
30 |
|
31 |
def create_basic_files(agents_dir):
|
32 |
"""Создает базовые файлы конфигурации для TEN-Agent"""
|
@@ -194,7 +198,11 @@ def main():
|
|
194 |
print(f"PATH: {os.environ.get('PATH', 'unset')}")
|
195 |
|
196 |
# Создаем пользовательские директории
|
197 |
-
user_dir, agents_dir, server_bin_dir, go_cache_dir = create_user_directory()
|
|
|
|
|
|
|
|
|
198 |
|
199 |
# Создаем базовые конфигурационные файлы
|
200 |
create_basic_files(agents_dir)
|
@@ -233,15 +241,27 @@ def main():
|
|
233 |
api_env = os.environ.copy()
|
234 |
api_env["TEN_AGENT_DIR"] = str(agents_dir)
|
235 |
api_env["GOCACHE"] = str(go_cache_dir) # Устанавливаем переменную GOCACHE
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
236 |
|
237 |
# Дополнительно проверяем права на исполнение через ls -la
|
238 |
subprocess.run(["ls", "-la", api_bin_str], check=True)
|
239 |
|
|
|
|
|
|
|
240 |
# Запускаем API сервер
|
241 |
print(f"Executing API server: {api_bin_str}")
|
242 |
try:
|
|
|
243 |
api_process = subprocess.Popen(
|
244 |
-
[api_bin_str],
|
245 |
env=api_env,
|
246 |
stdout=subprocess.PIPE,
|
247 |
stderr=subprocess.PIPE
|
|
|
21 |
server_bin_dir = user_dir / "server" / "bin"
|
22 |
server_bin_dir.mkdir(exist_ok=True, parents=True)
|
23 |
|
24 |
+
# Создаем директорию для логов
|
25 |
+
logs_dir = user_dir / "logs"
|
26 |
+
logs_dir.mkdir(exist_ok=True, parents=True)
|
27 |
+
|
28 |
# Создаем директорию для кэша Go
|
29 |
go_cache_dir = Path("/tmp/go-cache")
|
30 |
go_cache_dir.mkdir(exist_ok=True, parents=True)
|
31 |
|
32 |
print(f"Created directory structure at {user_dir}")
|
33 |
+
return user_dir, agents_dir, server_bin_dir, logs_dir, go_cache_dir
|
34 |
|
35 |
def create_basic_files(agents_dir):
|
36 |
"""Создает базовые файлы конфигурации для TEN-Agent"""
|
|
|
198 |
print(f"PATH: {os.environ.get('PATH', 'unset')}")
|
199 |
|
200 |
# Создаем пользовательские директории
|
201 |
+
user_dir, agents_dir, server_bin_dir, logs_dir, go_cache_dir = create_user_directory()
|
202 |
+
|
203 |
+
# Создаем пустой файл в директории логов, чтобы точно создать директорию
|
204 |
+
(logs_dir / "server.log").touch()
|
205 |
+
print(f"Created log directory at {logs_dir}")
|
206 |
|
207 |
# Создаем базовые конфигурационные файлы
|
208 |
create_basic_files(agents_dir)
|
|
|
241 |
api_env = os.environ.copy()
|
242 |
api_env["TEN_AGENT_DIR"] = str(agents_dir)
|
243 |
api_env["GOCACHE"] = str(go_cache_dir) # Устанавливаем переменную GOCACHE
|
244 |
+
api_env["LOG_DIR"] = str(logs_dir) # Устанавливаем директорию для логов
|
245 |
+
api_env["TEN_LOG_DIR"] = str(logs_dir) # Альтернативное имя переменной
|
246 |
+
|
247 |
+
# Выводим важные переменные окружения
|
248 |
+
print(f"Environment variables:")
|
249 |
+
print(f"TEN_AGENT_DIR: {api_env.get('TEN_AGENT_DIR')}")
|
250 |
+
print(f"LOG_DIR: {api_env.get('LOG_DIR')}")
|
251 |
+
print(f"TEN_LOG_DIR: {api_env.get('TEN_LOG_DIR')}")
|
252 |
|
253 |
# Дополнительно проверяем права на исполнение через ls -la
|
254 |
subprocess.run(["ls", "-la", api_bin_str], check=True)
|
255 |
|
256 |
+
# Проверяем директорию логов
|
257 |
+
subprocess.run(["ls", "-la", str(logs_dir)], check=True)
|
258 |
+
|
259 |
# Запускаем API сервер
|
260 |
print(f"Executing API server: {api_bin_str}")
|
261 |
try:
|
262 |
+
# Аргументы командной строки для указания директории логов
|
263 |
api_process = subprocess.Popen(
|
264 |
+
[api_bin_str, "--log_dir", str(logs_dir)],
|
265 |
env=api_env,
|
266 |
stdout=subprocess.PIPE,
|
267 |
stderr=subprocess.PIPE
|