πŸ“
pypc-tlbx
  • py_poc_toolbox
  • pages
    • Sphinx
    • pre-commit
    • line_profiler
    • Postgres
    • ΠŸΠΈΡ‚ΠΎΠ½-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ PyPI
    • ElasticSearch
    • Π Π°Π½Π΄ΠΎΠΌ
    • DDD
  • Devops
    • Supervisor
    • Jenkins
    • Docker
    • Jenkins + Docker
Powered by GitBook
On this page
  • Установка
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ процСсса
  • Запуск ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ процСссов
  • Если всС ΠΏΠ»ΠΎΡ…ΠΎ

Was this helpful?

  1. Devops

Supervisor

PreviousDDDNextJenkins

Last updated 5 years ago

Was this helpful?

- ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒΠ»ΠΈΠ½Π° для управлСния процСссами.

Установка

УстанавливаСм ΠΊΠ°ΠΊ ΠΏΠΈΡ‚ΠΎΠ½-ΠΏΠ°ΠΊΠ΅Ρ‚:

pip install supervisor

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ, ΠΏΠΎΠΌΠΈΠΌΠΎ настроСк Supervisor, Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ управляСмыС процСссы:

echo_supervisord_conf >  /etc/supervisord.conf

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ процСсса

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ процСсс, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠ΅ΠΊΡ†ΠΈΡŽ program Π² supervisord.conf:

[program:{program_name}]
process_name = {program_name}
command={command}
directory={directory}

redirect_stderr=true
user=root
autorestart=true
  • program_name - Π½Π°Π·Π²Π°Π½ΠΈΠ΅ процСсса

  • command - выполняСмая ΠΊΠΎΠΌΠ°Π½Π΄Π°

  • directory - рабочая дирСктория

ВыполняСмая ΠΊΠΎΠΌΠ°Π½Π΄Π°

pipenv run python scrip.py

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ запускаСмому скрипту ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ рабочая дирСктория ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π² supervisord.conf.

Запуск ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ процСссов

ПослС добавлСния ΠΈΠ»ΠΈ измСнСния процСссов, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ измСнСния ΠΊΠΎΠ½Ρ„ΠΈΠ³Π° ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ процСссы:

sudo supervisorctl reread
sudo supervisorctl update

Для просмотра Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… процСссов:

sudo supervisorctl status

Для пСрСзапуска ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ процСсса:

sudo supervisorctl restart {process_name}

Если Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ нСсколько процСссов (опция numprocs), Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ процСссов:

sudo supervisorctl restart {process_name}:*

Π›ΠΎΠ³ΠΈ

Π›ΠΎΠ³ΠΈ supervisor находятся ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ: /var/log/supervisor - Ρ‚Π°ΠΌ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎΡ‡Π΅ΠΌΡƒ процСсс ΠΈΠΌΠ΅Π΅Ρ‚ статус FATAL

Если всС ΠΏΠ»ΠΎΡ…ΠΎ

Если Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ошибки, Ρ‚ΠΈΠΏΠ°:

unix:///var/run/supervisor.sock no such file

Или Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ‚Π°ΠΊΠΎΠ΅:

error: <class 'socket.error'>, [Errno 2] No such file or directory: file: /usr/lib/python2.7/socket.py line: 224

Π’ΠΎ, ΠΏΡ€ΠΎΡ‰Π΅ всСго, ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ supervisor:

sudo supervisord

Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΎΠΏΡ†ΠΈΠΉ .

Часто Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ сами ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ инструкции для запуска. Помимо запуска с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Supervisor, описываСтся Ρ‚Π°ΠΊΠΆΠ΅ nginx-проксированиС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ , .

ΠŸΠΈΡ‚ΠΎΠ½ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ принято Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈΠ· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСды. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ :

Supervisor
здСсь
aiohttp
gunicorn
pipenv