Celery: рдЕрдЬрд╡рд╛рдЗрди рдХреЗ рдореБрджреНрджреЛрдВ рдФрд░ рдмреЗрд╣рддрд░ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдордИ 2010  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: celery/celery

рдореИрдВ рдЕрдЬрд╡рд╛рдЗрди рднрдВрдбрд╛рд░ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╕реЗрд▓реЗрд░реАрдб рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рдкрд░ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ: рдХрднреА-рдХрднреА рдХрд╛рд░реНрдп рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЪреБрдкрдЪрд╛рдк рд▓реЙрдЧ рдореЗрдВ рдХрд┐рд╕реА рднреА рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рдмрд┐рдирд╛ рдЕрдЬрд╡рд╛рдЗрди рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдмрдВрдж рд╣реЛ рдЬрд╛рддреА рд╣реИред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реВрдЪреА рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рджреГрд╢реНрдпрдорд╛рди рд░рд╣рддреА рд╣реИрдВред

рдЕрдВрдд рдореЗрдВ рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдХрднреА-рдХрднреА рдЬрдм рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╕реЗрд▓реЗрд░реА рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЬрдиреНрдо рджреЗрддреА рд╣реИ рдЬрд┐рд╕реЗ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЗрди рдмрдЧреЛрдВ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд░рдВрдн рдХреЗ рдмрд╛рдж рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ ps рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдФрд░ рдХрд┐рд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдорд╛рд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛. рдЗрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдорд╛рд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрд╛рд░реНрдп рдареАрдХ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рд▓рдЧрддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рддрд░рд╣ рдХрд╛ рд╣реИрдХ рд╣реИ рдЬреЛ рдПрдХ рдпрд╛ рджреЛ рд╕рдкреНрддрд╛рд╣ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИред

рдФрд░ рдЖрдЬ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрд╕рд▓реА рдХрд╛рд░рдг рдорд┐рд▓ рдЧрдпрд╛ рд╣реИред 'stopwaitsecs' рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдорд╛рди 10s рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ 10s рдХреЗ рдмрд╛рдж рд╕реЗрд▓реЗрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ TERM рдХреЗ рдмрдЬрд╛рдп KILL рд╕рд┐рдЧреНрдирд▓ рд╕реЗ рдорд░ рдЬрд╛рдПрдЧреАред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЬрд╡рд╛рдЗрди рдХреЛ рдорд╛рд░рдирд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ рдФрд░ рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред

рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдЙрджрд╛рд╣рд░рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ 'stopwaitsecs=600' рдЬреИрд╕рд╛ рдХреБрдЫ рдЬреЛрдбрд╝рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ (FAQ рд╕реЗ: "рдЖрдкрдХреЛ рдХрднреА рднреА KILL рд╕рд┐рдЧреНрдирд▓ (-9) рдХреЗ рд╕рд╛рде рд╕реЗрд▓реЗрд░реАрдб рдХреЛ рд░реЛрдХрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдП, рдЬрдм рддрдХ рдХрд┐ рдЖрдкрдиреЗ TERM рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ рдХреБрдЫ рдФрд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рдореМрдХрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдорд┐рдирдЯ рдЗрдВрддрдЬрд╛рд░ рдХрд┐рдпрд╛ред") рдФрд░ рдХрд┐рд▓ рд╕рд┐рдЧреНрдирд▓ рдкрд░ рд╕реЗрд▓реЗрд░реАрдб рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ: рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рдЦреЛ рдЬрд╛рдПрдВрдЧреЗ (рдФрд░ рдпрд╣ рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рд╣рдиреАрдп рд╣реИ) рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдереЛрдбрд╝реА рдЕрдЬреАрдм рд╣реИред

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

рдпрджрд┐ рдЖрдкрдХреЛ рдЕрднреА рднреА рдЕрдкрдиреЗ рдЕрдЬрд╡рд╛рдЗрди рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ, рддреЛ рдЖрдк рдЕрдкрдирд╛ stopwaitsecs рдмрдврд╝рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ stopasgroup=true рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

KILL рд╕рд┐рдЧреНрдирд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╕рдордп рдЙрддреНрдкрдиреНрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЬреАрдм рд╣реИрдВред supervisord рдХреЗ рдмрд╛рд╣рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдореБрдЭреЗ рд╡рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рддреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕рдХреЗ рдХрд╛рд░рдг рдХреБрдЫ рд╣реЛ?

рдпрджрд┐ рдЖрдк setproctitle рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реЗрд▓реЗрд░реА рдХреЛ ps рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рдХреНрдпрд╛ рдЖрдк рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рддрд░рд╣ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ?

( easy_install setproctitle )

рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ 600 рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рд╢рд╛рдпрдж рдЕрдЪреНрдЫрд╛ рд╣реИред рдХреНрдпрд╛ рдЕрдирдВрдд рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реЗрдЯрд┐рдВрдЧ рд╣реИ (рд╢рд╛рдпрдж рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд╕рд╛рде рдЕрдЧрд░ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ)? рдЬрдм celeryd рдХреЛ TERM (рдЬреЛ рдкрд╕рдВрджреАрджрд╛ рд╢рдЯрдбрд╛рдЙрди рд╕рд┐рдЧреНрдирд▓ рд╣реИ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рд╕рдорд╛рдкреНрддрд┐ рдордзреНрдп рдирд┐рд╖реНрдкрд╛рджрди рд╕реНрд╡реАрдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИред

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

 4976 ?        Ss     0:00 /usr/bin/python /usr/bin/supervisord --pidfile /var/run/supervisord.pid
 5422 ?        S      0:01  \_ [celerybeat] --schedule=/var/lib/celery/celerybeat-schedule-nadovmeste --loglevel=INFO                                                             
 6101 ?        Sl     0:00  \_ [celeryd.MainProcess] Running... (--loglevel=INFO)                                                           
 6108 ?        S      0:00      \_ [celeryd.PoolWorker-1]                                                                                       
 nadovmeste:~# kill 6101 & kill -9 6101 &

рдкреАрдПрд╕ -рдПрдлрд╝рдПрдХреНрд╕:

 4976 ?        Ss     0:00 /usr/bin/python /usr/bin/supervisord --pidfile /var/run/supervisord.pid
 5422 ?        S      0:01  \_ [celerybeat] --schedule=/var/lib/celery/celerybeat-schedule-nadovmeste --loglevel=INFO                                                             
 6867 ?        Sl     0:00  \_ [celeryd.MainProcess] Running... (--loglevel=INFO)                                                           
 6875 ?        S      0:00      \_ [celeryd.PoolWorker-1]                                                                                       
 6108 ?        S      0:00 [celeryd.PoolWorker-1]       

рдореИрдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ kill рдФрд░ kill -9 рдХреЗ рдмреАрдЪ рдРрд╕реА рдХреГрддреНрд░рд┐рдо рджреМрдбрд╝ рдХреЗ рд╕рд╛рде рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдХрднреА-рдХрднреА рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдареАрдХ рд╕реЗ рдорд╛рд░рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдореБрджреНрджрд╛ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдореИрдВ рдХрдВрд╕реЛрд▓ рд╕реЗ рд╕реЗрд▓реЗрд░реАрдб рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рднрд╛рдЧреНрдп рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдХрдИ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдмрд╛рдж рдХрдВрд╕реЛрд▓-рд╢реБрд░реВ рдХреА рдЧрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:

/home/nadovmeste/envs/nadovmeste/bin/python /home/nadovmeste/src/nadovmeste/manage.py celeryd -B --loglevel=INFO&

рдФрд░ рдлрд┐рд░ рджреВрд╕рд░реЗ рдЯрд░реНрдорд┐рдирд▓ рд╕рддреНрд░ рдореЗрдВ:

nadovmeste:~# ps -afx

 6450 ?        Ss     0:00  \_ sshd: root@pts/2 
 6452 pts/2    Ss+    0:00      \_ -bash
 9343 pts/2    Sl     0:00          \_ [celeryd.MainProcess] Running... (-B --loglevel=INFO)                                                           
 9350 pts/2    S      0:00              \_ [celeryd.PoolWorker-2]                                                                                          
 9355 pts/2    S      0:00              \_ [celerybeat]     

nadovmeste:~# kill 9343 & kill -9 9343

nadovmeste:~# ps -afx

 4526 ?        Ss     0:00  \_ sshd: root@pts/1 
 4529 pts/1    Ss     0:00  |   \_ -bash
 9366 pts/1    R+     0:00  |       \_ ps -afx
 6450 ?        Ss     0:00  \_ sshd: root@pts/2 
 6452 pts/2    Ss+    0:00      \_ -bash    
 ...
 9350 pts/2    S      0:00 [celeryd.PoolWorker-2]                                                                                          
 9355 pts/2    S      0:00 [celerybeat]

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

рд╢рд╛рдпрдж рдпрд╣ рд╕реЗрд▓реЗрд░реАрдмреАрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдХреЗрд╡рд▓ -B рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрдВрд╕реЛрд▓-рд╕реНрдЯрд╛рд░реНрдЯ рд╕реЗрд▓реЗрд░реАрдб рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред

рдЕрдЧрд░ рдореИрдВ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХреБрдЫ рд╕реЗрд▓реЗрд░реА рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореИрдВ -рдмреА рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдХрднреА-рдХрднреА рдЬрдм рдореИрдВ ctrl-c рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдореИрдВ рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ, рдХреНрдпрд╛ рдЖрдк рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ? рдореИрдВрдиреЗ рдЕрднреА рдПрдХ рдмрдЧ рддрдп рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рд╢рдЯрдбрд╛рдЙрди рд▓рдЯрдХрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рд╣рд╛рдБ, рдореИрдВ рдирд╡реАрдирддрдо рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдБред рдореИрдВрдиреЗ рдЖрдкрдХреА рдмрдЧ-рдлрд┐рдХреНрд╕рд┐рдВрдЧ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рджреЗрдЦреА рдФрд░ рдЖрд╢рд╛ рдХреА рдХрд┐ рдЗрд╕рд╕реЗ рдорджрдж рдорд┐рд▓реЗрдЧреА рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ: рдирд╡реАрдирддрдо рд╕реЗрд▓реЗрд░реА рдРрд╕рд╛ рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреА рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЬрд╛рдП - рдореИрдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ рддрддреНрдХрд╛рд▓ рдорд╛рд░ рд╕реЗ рдЬрд╛рдВрдЪрддрд╛ рд╣реВрдВред рдореИрдВ рдЕрдм рдЗрд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЕрдкрдирд╛ рд╣рд╛рде рдирд╣реАрдВ рд▓рдкреЗрдЯ рд╕рдХрддрд╛ :) рдореЗрд░реЗ рд╕реЗрдЯрдЕрдк рдХреЗ рд╕рд╛рде ctrl-c рд╕рдорд╕реНрдпрд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИред

рддреЛ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ, рд╕рд░рд▓реАрдХреГрдд: http://gist.github.com/401028 ред рдкрд░рд┐рдгрд╛рдо рд╣рдореЗрд╢рд╛ рд╕рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВ (рдХрднреА-рдХрднреА рдирд╣реАрдВ)ред рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдЖрд╡рдзрд┐рдХ рдХрд╛рд░реНрдп рд╣реИрдВ рдФрд░ рдХреБрдЫ рдЧреИрд░-рдЖрд╡рдзрд┐рдХред рдХрд╛рд░реНрдп рд╕рд░рд▓ рд╣реИрдВ рдФрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ рдХрд┐ рдореБрдЦреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдорд╛рд░рдиреЗ рдХреЗ рдмрд╛рдж рдмрдЪреНрдЪреЛрдВ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬреАрд╡рд┐рдд рд░рд╣рддреА рд╣реИ? рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рдФрд░ рдЖрдк рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдореИрдВ рдиреНрдпреВрдирддрдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред

рд╕реЗрд▓реЗрд░реАрдмреАрдЯ рд╣рддреНрдпрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ: рдЬрдм рдореИрдВ рдлрд╛рдВрд╕реА (?) рд╕реЗрд▓реЗрд░реАрдмреАрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдорд╛рд░рддрд╛ рд╣реВрдВ рддреЛ рдлрд╛рдВрд╕реА (?) рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рднреА рдмрдВрдж рд╣реЛ рдЬрд╛рддреА рд╣реИред

@kmike рдореИрдВ рдЕрднреА рднреА рдКрдкрд░ рджрд┐рдП рдЧрдП рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рд╢рд╛рдпрдж рдЗрд╕рд▓рд┐рдП рдХрд┐ рдореИрдВ OS X рдкрд░ рд╣реВрдВ, рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк Python 2.5 рдЪрд▓рд╛ рд░рд╣реЗ рд╣реЛрдВ? (рдореИрдВ 2.6.1 рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдБ)

рдЗрд╕реЗ --loglevel=DEBUG? рдХреЗ рд╕рд╛рде рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╣ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдВ рд░реБрдХрддрд╛ рд╣реИред

рд╕реЗрд▓реЗрд░реАрдмреАрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореБрдЦреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХреА рдЬрд╛рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЦреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реА рд╣реИ
рд╢реЗрд╖ рдкреВрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдорд╛рд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗрд▓реЗрд░реАрдмреАрдЯ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдПред

рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдореБрдЦреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдорд╛рд░ рджреА рдЧрдИ рдереА: рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реВрдЪреА рдореЗрдВ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣реА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдмрдВрдзрди рдХреЗ рд╕рд╛рде рдЬреНрдпрд╛рджрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИред

рдореЗрд░рд╛ рд╕реЗрдЯрдЕрдк рдбреЗрдмрд┐рдпрди рд▓реЗрдиреА + рдкрд╛рдпрдерди 2.5 рдерд╛ред

рдореИрдВ рд╕реЗрд▓реЗрд░реАрдб рдХреЛ --loglevel=DEBUG рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдиреЗ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреА рдореИрдХрдмреБрдХ рдкрд░ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред

рд╣рдореНрдо, рдЖрдк рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рд╣реИрдВред рдпрд╣ рд▓рдЧрднрдЧ рд╡реИрд╕рд╛ рд╣реА рд╣реИ рдЬреИрд╕реЗ рдмреАрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд▓реЗрддреА рд╣реИред

рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рдбреЗрдмрд┐рдпрди рд▓реЗрдиреА рдкрд░ рдЕрдЬрдЧрд░ 2.5 рдХреЗ рд╕рд╛рде рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рдпрд╣ рд╡рд╣реАрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
TERM рдФрд░ INT рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рдорд╛рд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред

рдкреВрдЫреЛ, рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрдврд╝реА рд╣реБрдИ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдЯрд╛рдЗрдордЖрдЙрдЯ рдФрд░ рдЖрдкрдХреА рдмрдЧ-рдлрд┐рдХреНрд╕рд┐рдВрдЧ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рдереАред рд╕рд┐рдореБрд▓реЗрд╢рди рдЧрд▓рдд рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ kill -9 рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╡реЗ TERM рдХреЗ рдмрдЬрд╛рдп KILL рд╕рд┐рдЧреНрдирд▓ рднреЗрдЬрддреЗ рд╣реИрдВред рдЯреАрдИрдЖрд░рдПрдо рд╕рд┐рдЧреНрдирд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдареАрдХ рд╕реЗ рдорд╛рд░реЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред

рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдЯреАрдИрдЖрд░рдПрдо рд╕рд┐рдЧреНрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рд╕рдм рдареАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд▓реЗрдХрд┐рди рдЬреЛ рдЪреАрдЬ рдореБрдЭреЗ рдереЛрдбрд╝реА рдбрд░рд╛рддреА рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╢реБрд░реБрдЖрддреА рдмрдЧ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХреА рдЧрдИ рдереАред рдореИрдВ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЖрдкрдХреЛ рдмрддрд╛ рджреВрдВрдЧрд╛ред

рдЖрд╣! рдореБрдЭреЗ рдЦреЗрдж рд╣реИред рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рдзреНрдпрд╛рди рд╕реЗ рдирд╣реАрдВ рдкрдврд╝рд╛ред рд╣рд╛рдВ! рдареАрдХ рдРрд╕рд╛ рд╣реА рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдЗрд╕реЗ рд╕рд┐рдЧрдХрд┐рд▓ рд╕реЗ рдорд╛рд░рддреЗ рд╣реИрдВред 9 рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдкрдХрдбрд╝рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ AFAIK рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рдпрджрд┐ рдЖрдкрдХреЛ рдЕрднреА рднреА рдЕрдкрдиреЗ рдЕрдЬрд╡рд╛рдЗрди рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ, рддреЛ рдЖрдк рдЕрдкрдирд╛ stopwaitsecs рдмрдврд╝рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ stopasgroup=true рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

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

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

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

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

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

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