Supervisor: рдлрд╝реАрдЪрд░ рдЕрдиреБрд░реЛрдз: рдХрдорд╛рдВрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рд▓рд╛рдЗрди рд╕рдорд░реНрдерди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 8 рдЕрдЧре░ 2012  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: Supervisor/supervisor

рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореИрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ command рдорд╛рди рдореЗрдВ рдХрдИ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдбрд╛рд▓ рд╕рдХрддрд╛ рд╣реВрдБ, рдЬреИрд╕реЗ:

[program:my-program]
command=my-program \
  --long-option very very very long parameter \
  --another-long-option very very very long parameter

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ supervisord.conf рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ConfigParser рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЙрди рдорд╛рдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдлреИрд▓рд╛рддреЗ рд╣реИрдВред

рдпрд╣ рд▓рдЧрднрдЧ рд╡реИрд╕рд╛ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рдКрдкрд░ рд▓рд┐рдЦрд╛ рд╣реИред рдЕрддрд┐рд░рд┐рдХреНрдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЗрдВрдбреЗрдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ \ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП:

[supervisord]

[program:echo_argv]
command=/path/to/echo_argv
    --long-option 'very very very long parameter'
    --another-long-option 'very very very long parameter'

рд╣рдо рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдбреЗрдореЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреЛ argv рдХреЛ рдЧреВрдБрдЬрддреА рд╣реИ:

#!/usr/bin/env python -u
import sys
import pprint
pprint.pprint(sys.argv)

рдбрд┐рдореЛрдирд╛рдЗрдЬрд╝ рдХрд┐рдП рдмрд┐рдирд╛ рдФрд░ рдбрд┐рдмрдЧ рд╕реНрддрд░ рдкрд░ рд╕реБрдкрд░рд╡рд╛рдЗрдЬрд╝рд░ рдЪрд▓рд╛рдиреЗ рд╕реЗ рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

$ supervisord --loglevel debug -n -c /path/to/supervisord.conf 
2012-09-03 17:33:06,045 INFO Increased RLIMIT_NOFILE limit to 1024
2012-09-03 17:33:06,048 INFO supervisord started with pid 964
2012-09-03 17:33:07,052 INFO spawned: 'echo_argv' with pid 967
2012-09-03 17:33:07,096 DEBG 'echo_argv' stdout output:
['/path/to/echo_argv',
 '--long-option',
 'very very very long parameter',
 '--another-long-option',
 'very very very long parameter']

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ рдЙрд╕ рдЧрддрд┐ рдХреЛ рджреВрд╕рд░рд╛ рдХрд░рддрд╛ рд╣реВрдВред

рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ supervisord.conf рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ConfigParser рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЙрди рдорд╛рдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдлреИрд▓рд╛рддреЗ рд╣реИрдВред

рдпрд╣ рд▓рдЧрднрдЧ рд╡реИрд╕рд╛ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рдКрдкрд░ рд▓рд┐рдЦрд╛ рд╣реИред рдЕрддрд┐рд░рд┐рдХреНрдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЗрдВрдбреЗрдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ \ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП:

[supervisord]

[program:echo_argv]
command=/path/to/echo_argv
    --long-option 'very very very long parameter'
    --another-long-option 'very very very long parameter'

рд╣рдо рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдбреЗрдореЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреЛ argv рдХреЛ рдЧреВрдБрдЬрддреА рд╣реИ:

#!/usr/bin/env python -u
import sys
import pprint
pprint.pprint(sys.argv)

рдбрд┐рдореЛрдирд╛рдЗрдЬрд╝ рдХрд┐рдП рдмрд┐рдирд╛ рдФрд░ рдбрд┐рдмрдЧ рд╕реНрддрд░ рдкрд░ рд╕реБрдкрд░рд╡рд╛рдЗрдЬрд╝рд░ рдЪрд▓рд╛рдиреЗ рд╕реЗ рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

$ supervisord --loglevel debug -n -c /path/to/supervisord.conf 
2012-09-03 17:33:06,045 INFO Increased RLIMIT_NOFILE limit to 1024
2012-09-03 17:33:06,048 INFO supervisord started with pid 964
2012-09-03 17:33:07,052 INFO spawned: 'echo_argv' with pid 967
2012-09-03 17:33:07,096 DEBG 'echo_argv' stdout output:
['/path/to/echo_argv',
 '--long-option',
 'very very very long parameter',
 '--another-long-option',
 'very very very long parameter']

рдЕрдЪреНрдЫрд╛ред рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдХрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ (рдЕрднреА рднреА рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ) 'рдмрд╣реБрдд рдмрд╣реБрдд рд▓рдВрдмреЗ рдкреИрд░рд╛рдореАрдЯрд░' рдХреЛ рдлреИрд▓рд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ?

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

eromoe picture eromoe  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

AlphaSRE picture AlphaSRE  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

vBlackOut picture vBlackOut  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

guettli picture guettli  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

crybat picture crybat  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ