λ¬Έμ #120 μ μ견μμ λ³΄κ³ λ¨:
κ·Έκ²μ΄ λ§μ€ν° λΈλμΉμμ μ΄λ»κ² λ ν΄κ²°λμλμ§ λͺ¨λ₯΄κ² μ§λ§ λ²μ 3.1.1μμ λκ΅°κ° μ€μλ‘ μ°λ¦¬ μλ²μμ λ‘κ·Έ λλ ν 리λ₯Ό μ κ±°νκ³ κ°λ μλ λ¨μν μμ μ μ€λ¨νκ³ λ‘κ·Έ λλ ν λ¦¬κ° μμ΅λλ€.
λλ λνμ΄ νλμλ³΄κ³ μ§μ¦μ΄λ¬λ€. κ°λ₯ν κ²½μ° logdirμ λ§λλ κ²μ΄ μ¬λ°λ₯Έ λμμ΄λΌκ³ μκ°νλ©° μ΅μν λ€λ₯Έ μμ μ΄ μΆ©λνλλ‘ νμ©ν΄μλ μ λ©λλ€.
λλ λνμ΄ νλμλ³΄κ³ μ§μ¦μ΄λ¬λ€.
μΈμ λ°μν©λκΉ? μλ μ견μ ꡬ체μ μ΄μ§ μμ΅λλ€. [program:x]
μΉμ
μ stdout_logfile
μμ μ‘΄μ¬νμ§ μλ λ‘κ·Έ λλ ν 리λ₯Ό μ§μ νλ©΄ μΆ©λμ΄ λ°μν©λκΉ? μ΄λ€ Supervisor λ²μ μ μ¬μ©νκ³ μμ΅λκΉ?
κ°λ₯ν κ²½μ° logdirμ λ§λλ κ²μ΄ μ¬λ°λ₯Έ λμμ΄λΌκ³ μκ°ν©λλ€.
μ λ μ΄μ κ°μ λμμ νλ λ€λ₯Έ νλ‘κ·Έλ¨μ μ¬μ©νμ§ μμ΅λλ€. supervisord
λ μ΄λ€ μ¬μ©μκ° λλ ν 리λ₯Ό μμ ν΄μΌ νλμ§ λλ μ΄λ€ κΆνμ΄ μμ΄μΌ νλμ§ λͺ¨λ₯΄κΈ° λλ¬Έμ μλμΌλ‘ λ‘κ·Έ λλ ν 리λ₯Ό μμ±νκΈ°μ μΆ©λΆν μ λ³΄κ° μμ΅λλ€. λλ μ΄ λͺ¨λ κ²μ λν λ§μ μ΅μ
μ λλ¦¬μ§ μκ³ ν μ μλ μ μΌν λ°©λ²μ λ‘κ·Έ λλ ν λ¦¬κ° μ‘΄μ¬νμ§ μμ λ λͺ
νν μ€λ₯ λ©μμ§λ₯Ό νμνλ κ²μ΄λΌκ³ μκ°ν©λλ€.
μ΅μν λ€λ₯Έ μμ μ λ°©ν΄ν΄μλ μ λ©λλ€.
stdout_logfile
λλ stderr_logfile
κ° μ‘΄μ¬νμ§ μλ λλ ν 리λ₯Ό μ§μ νλ [program:x]
μΉμ
μ μΆκ°νλ©΄ supervisord
μΆ©λμ΄ λ°μνμ§ μλλ€λ λ° λμν©λλ€.
[program:x] μΉμ μ stdout_logfileμ΄ μ‘΄μ¬νμ§ μλ λ‘κ·Έ λλ ν 리λ₯Ό μ§μ νλ©΄ μΆ©λμ΄ λ°μν©λκΉ? μ΄λ€ Supervisor λ²μ μ μ¬μ©νκ³ μμ΅λκΉ?
μ. λλ₯Ό μν΄ 3.1.3μ λͺ κ°μ§ λ¬Έμ κ° μμ΅λλ€.
fd22ca89ff353fbe92845e9d2517645e6cf149acμμ μμ λμμ΅λλ€. μ΄ μμ μ¬νμ Supervisor 3.2μ ν¬ν¨λ κ²μ λλ€.
볡μ νκ³ μμ λμλμ§ νμΈνλ λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€. μ΅μ supervisord.conf
:
[supervisord]
logfile = /tmp/supervisord.log
[inet_http_server]
port = 127.0.0.1:9001
[supervisorctl]
serverurl = http://127.0.0.1:9001
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[program:cat]
command = /bin/cat
stdout_logfile = /thelogdir/foo.txt
autostart = false
λ‘κ·Έ λλ ν λ¦¬κ° μμ΄μΌ ν©λλ€. κ·Έλ μ§ μμΌλ©΄ supervisord
κ° μμμ κ±°λΆν©λλ€. λ‘κ·Έ λλ ν 리λ₯Ό λ§λ€κ³ ν΄λΉ ꡬμ±μΌλ‘ ν¬κ·ΈλΌμ΄λμμ supervisord
λ₯Ό μμν©λλ€.
$ mkdir /thelogdir
$ supervisord --version
3.2.0.dev0
$ supervisord -n -c /path/to/supervisord.conf
2015-08-18 14:38:52,503 INFO Increased RLIMIT_NOFILE limit to 1024
2015-08-18 14:38:52,516 INFO RPC interface 'supervisor' initialized
2015-08-18 14:38:52,516 CRIT Server 'inet_http_server' running without any HTTP authentication checking
2015-08-18 14:38:52,516 INFO supervisord started with pid 49508
supervisord
κ° κ³μ μ€νλλ λμ λ‘κ·Έ λλ ν 리λ₯Ό μ κ±°ν©λλ€.
$ rmdir /thelogdir
νλ‘μΈμ€λ₯Ό μμνμμμ€.
$ supervisorctl -c /path/to/supervisord.conf
cat STOPPED Not started
supervisor> start cat
cat: ERROR (spawn error)
supervisor> status
cat FATAL unknown error making dispatchers for 'cat': ENOENT
κ°μ₯ μ μ©ν λκΈ
fd22ca89ff353fbe92845e9d2517645e6cf149acμμ μμ λμμ΅λλ€. μ΄ μμ μ¬νμ Supervisor 3.2μ ν¬ν¨λ κ²μ λλ€.
볡μ νκ³ μμ λμλμ§ νμΈνλ λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€. μ΅μ
supervisord.conf
:λ‘κ·Έ λλ ν λ¦¬κ° μμ΄μΌ ν©λλ€. κ·Έλ μ§ μμΌλ©΄
supervisord
κ° μμμ κ±°λΆν©λλ€. λ‘κ·Έ λλ ν 리λ₯Ό λ§λ€κ³ ν΄λΉ ꡬμ±μΌλ‘ ν¬κ·ΈλΌμ΄λμμsupervisord
λ₯Ό μμν©λλ€.supervisord
κ° κ³μ μ€νλλ λμ λ‘κ·Έ λλ ν 리λ₯Ό μ κ±°ν©λλ€.νλ‘μΈμ€λ₯Ό μμνμμμ€.