Сначала я приду с некоторыми отзывами для вашей установки.
Когда вы создаете приложение Python, не рекомендуется использовать gunicorn в качестве хоста сервера, его сборка для разработки, вы закрываете использование uWSGI для своего приложения Python.
Далее, когда вы используете прокси в NGINX, я рекомендую вам отключить буферизацию для вашего прокси.
прокси_буферизация выключена;
Когда вы отключаете буферизацию, вы делаете сайт немного медленнее во время загрузки, потому что клиент нуждается в отправке полного пакета с сервера клиенту. Мои экспириенты говорят мне, что это не так много, когда мы говорим о веб-разработке, и это защищает вас в долгосрочной перспективе, если вы хотите запускать свое приложение на нескольких серверах за балансировщиком нагрузки, таким как NGINX Proxy, Docker Cluster или что-то в этом роде.
После моего отзыва это звучит так, как будто у вас есть что-то в вашем коде, просто входите в цикл и никогда не останавливаетесь, или у вас есть lonnnnnnnng SQL-соединение/запрос, выполнение которого занимает более 3 минут.
Что я порекомендую здесь, так это включить медленную регистрацию в вашей базе данных, чтобы вы могли получить журнал для всех запросов, которые занимают более 0,5 секунды, это может быть отсутствующий индекс в вашей базе данных, который выполняет сайт.
Обычному Python не требовалось 3 минуты для выполнения области сценария/кода, поэтому это звучит как внешние службы, например. база данных, API или что-то в этом случае.
Когда вы включили медленный журнал для своей базы данных, вторым случаем будет создание простого журнала для вашего скрипта с «временем начала» + «время окончания» и его дамп с помощью метода/страницы/url, которые попадают в эту область, и дамп его в файл, чтобы вы могли легко его открыть, поздно он запускается через 5-6 часов, как вы говорите, или дольше, чтобы поймать вашу ошибку.
Я думаю, что это лучший способ, первая проблема будет заключаться в том, чтобы выяснить, почему ваш код выполняется 3 минуты.