моя программа на Python запускается с использованием скрипта launch_proxy.py, который запускает экземпляр uvicorn, обслуживающий мой API.
Код: Выделить всё
import uvicorn
if __name__ == "__main__":
workers = 6
uvicorn.run("api.detection_proxy:app", host="0.0.0.0", port=8184,workers=workers, reload=workers == 1, proxy_headers=True, forwarded_allow_ips="*")
Код: Выделить всё
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "debugpy",
"stopOnEntry": false,
"request": "launch",
"program": "launch_proxy.py",
"console": "integratedTerminal",
"justMyCode": false,
"cwd": "${workspaceFolder}/ppl_server",
"env": {
"DYLD_LIBRARY_PATH": "/opt/homebrew/lib/postgresql@14/:$DYLD_LIBRARY_PATH",
"PYDEVD_USE_FRAME_EVAL": "NO",
"PYDEVD_TIMEOUT": "999999",
"PYDEVD_DEBUG_LOG_DIR": "/tmp/debugpy_logs"
},
}
]
}
Но когда она достигает точки останова, если вы не сделаете шаг вперед или шаг в течение 5 секунд после достижения этой точки останова, дочерний процесс умирает и перезапускается, оставляя меня с пустым ответом и без какой-либо отладки.
Как предполагает мой файл launch.json, я перепробовал множество параметров и конфигураций, чтобы обойти 5 секунд, я даже пытался прослушивание любого сигнала в файл launch_proxy.py следующим образом:
Код: Выделить всё
import signal
import sys
def signal_handler(sig, frame):
print(f"Received signal: {sig}")
sys.exit(0)
signal.signal(signal.SIGTERM, signal_handler)
signal.signal(signal.SIGINT, signal_handler)
#this part is to print something that's how i knew a new child process has spawned
import os
print("PYDEVD_TIMEOUT:", os.environ.get("PYDEVD_TIMEOUT"))
print("PYDEVD_USE_FRAME_EVAL:", os.environ.get("PYDEVD_USE_FRAME_EVAL"))
print("DYLD_LIBRARY_PATH:", os.environ.get("DYLD_LIBRARY_PATH"))
Я протестировал обработчик сигнала, введя ctrl + c, и вижу, что он печатает полученный сигнал 15
Я должен отметить, что аналогичная установка с теми же версиями пакетов pip отлично работает на моем ноутбуке с Windows
Подробнее здесь: https://stackoverflow.com/questions/792 ... inactivity
Мобильная версия