странная проблема с запуском PM2

#python #pm2 #ubuntu-20.04

#python #pm2 #ubuntu-20.04

Вопрос:

У меня есть приложение python3, которое я хочу постоянно запускать на сервере Ubuntu. Я управляю им с помощью pm2, но столкнулся с очень странной ошибкой.

Я запускаю процесс pm2 с помощью:

 pm2 start --name python_app --watch --interpreter /usr/bin/python3.8 python_app.py
  

Когда я впервые запускаю это, оно запускается неправильно: pm2 постоянно останавливает и перезапускает процесс несколько раз в секунду и будет продолжать делать это, пока не остановится. Вывод журналов ошибок pm2 имеет очень мало смысла: это много очень длинных трассировок через библиотеки python (почти всегда Flask), но без каких-либо фактических ошибок, связанных с ними, кроме KeyboardInterrupts, которые я не делаю.

После ручной остановки и запуска приложения (с использованием приведенных ниже команд) все работает как ожидалось (а затем продолжает нормально работать для последующих перезапусков).

 pm2 stop python_app
pm2 start python_app
  

Я повторил этот процесс (удалив и переделав процесс pm2, чтобы увидеть ошибку, а затем остановив и перезапустив, чтобы заставить его работать) несколько раз, каждый раз с одинаковыми результатами. Интересно, является ли это результатом чего-то другого, что не так? Или, есть ли эквивалентная команда в pm2 для «настройки» нового процесса без его запуска, а затем запуска его отдельно.

Я попытался увеличить объем памяти при запуске, который мог бы использовать pm2, но он просто использует 100% того, что я ему даю, и по-прежнему сталкивается с той же проблемой перезапуска (только намного быстрее, ха-ха).

Ответ №1:

ах, я думаю, я знаю, в чем была проблема: я заметил, что просмотр отображался как «отключенный», когда я перечислял процессы, хотя я запускал с помощью команды —watch .

Когда я удалился --watch из start команды, она работала нормально: возможно, она не предназначена для использования с Python?

Хотелось бы услышать от любого, кто знает больше, но проблема решена.