рд╕реЗрд▓реЗрд░реА 4.x рд╢реБрд░реВ (# 4078 рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде) рд▓реЗрдХрд┐рди рд╕рднреА рдХрд╛рд░реНрдп рдХреНрд░реИрд╢
рдкрд╣рд▓реЗ рдЪрд░рдг рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html)
рдЕрдЬрд╡рд╛рдЗрди-рдПрдХ рдХрд╛рд░реНрдп рдХрд░реНрдореА --loglevel = рдЬрд╛рдирдХрд╛рд░реА
add.delay (2,2)
рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ 4 рдХрд╛ рдкрд░рд┐рдгрд╛рдо рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдЕрдЬрд╡рд╛рдЗрди рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрддред
"C: \ Program Files \ Python36 \ Scripts \ celery.exe"
-------------- рдЕрдЬрд╡рд╛рдЗрди @ PETRUS v4.0.2 (рдЕрд╡реНрдпрдХреНрдд)
--- * * * - рд╡рд┐рдВрдбреЛрдЬ-10-10.0.14393-SP0 2017-06-08 15:31:22
-------------- [рдХрддрд╛рд░]
ред> рдЕрдЬрд╡рд╛рдЗрди рд╡рд┐рдирд┐рдордп = рдЕрдЬрд╡рд╛рдЗрди (рдкреНрд░рддреНрдпрдХреНрд╖) рдХреБрдВрдЬреА = рдЕрдЬрд╡рд╛рдЗрди
[рдХрд╛рд░реНрдп]
ред perse.tasks.celery_add
[2017/06/08 15: 31: 22,685: рдЬрд╛рдирдХрд╛рд░реА / MainProcess] рд╕реЗ рдЬреБрдбрд╝рд╛ AMQP: // рдЕрддрд┐рдерд┐ : *@127.0.0.1: 5672 //[реирежрез [-режрем-режO резрел: рейрез: реиреиреж3режрей: рдЗрдиреНрдлреЛ / рдореЗрдирдкреНрд░реЛрд╕реЗрд╕] рдорд┐рдВрдЧрд▓: рдкрдбрд╝реЛрд╕рд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬ рд░рд╣рд╛ рд╣реИ[реирежрез [-режрем-реж / резрел: рейрез: реирейрежреиреирежрезрез: рдЗрдиреНрдлреЛ / рд╕реНрдкреЙрдирдкреВрд▓рд╡реЙрдХрд░ -рел] рдЪрд╛рдЗрд▓реНрдб рдкреНрд░реЛрд╕реЗрд╕ 5124 рдХреЙрд▓рд┐рдВрдЧ рд╕реЗрд▓реНрдлредрд░реБрдг ()[реирежрез [-режрем-реж / резрел: рейрез: реирейрежреирежрел: рдЗрдиреНрдлреЛ / рд╕реНрдкреЙрдирдкреВрд▓рд╡реЙрдХрд░ -рек] рдмрдЪреНрдЪреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ резреж48рекun рд╕реЗрд▓реНрдл рдХреЙрд▓рд┐рдВрдЧред ()[реирежрез [-режрем-режO резрел: рейрез: реирейрежреиреж:: рдЗрдиреНрдлреЛ / рд╕реНрдкреЙрдирдкреВрд▓рд╡реЙрдХрд░ -резреж] рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ релреи реп рем рд╕реЗрд▓реНрдл рдмреБрд▓рд╛рдирд╛ ()[реирежрез [-режрем-реж: резрел: рейрез: реирейреирезрек: рдЬрд╛рдирдХрд╛рд░реА / рд╕реНрдкреЙрдирдкреВрд▓рд╡реЙрдХрд░ -рез] рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рел.релреи рдХреЙрд▓рд┐рдВрдЧ рд╕реЗрд▓реНрдлред ()[реирежрез [-режрем-режO резрел: рейрез: реирейреиреирез-06: рдЗрдиреНрдлреЛ / рд╕реНрдкреЙрдирдкреВрд▓рд╡реЙрдХрд░ -рей] рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ резрез.ремr рдХреЙрд▓рд┐рдВрдЧ рд╕реЗрд▓реНрдлред ()[реирежрез [-режрем-реж: резрел: рейрез: реирейреиреирем: рдЬрд╛рдирдХрд╛рд░реА / рд╕реНрдкреЙрдирдкреВрд▓рд╡реЙрдХрд░ -резрез] рдмрдЪреНрдЪреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ реп релрекрек рд╕реЗрд▓реНрдл рдмреБрд▓рд╛рдирд╛ ()[реирежрез [-режрем-режO резрел: рейрез: реирейреиреи:: рдЗрдиреНрдлреЛ / рд╕реНрдкреЙрдирдкреВрд▓рд╡реЙрдХрд░ -рем] рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ резремрейрейреи рдХреЙрд▓рд┐рдВрдЧ рд╕реЗрд▓реНрдлред ()[реирежрез [-режрем-реж: резрел: рейрез: реирейреиреи реп: рдЬрд╛рдирдХрд╛рд░реА / рд╕реНрдкреЙрдирдкреВрд▓рд╡реЙрдХрд░ --08] рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рейрейrрек рд╕реЗрд▓реНрдл рдХреЙрд▓рд┐рдВрдЧ ()[реирежрез [-режрем-реж: резрел: рейрез: реирейреирейрекрек: рдЗрдиреНрдлреЛ / рд╕реНрдкреЙрдирдкреВрд▓рд╡реЙрдХрд░ -резреи] рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ rрежреиреж рдХреЙрд▓рд┐рдВрдЧ рд╕реЗрд▓реНрдлред ()[реирежрез [-режрем-режO резрел: рейрез: реирейреиреирекрез: рдЗрдиреНрдлреЛ / рд╕реНрдкреЙрдирдкреВрд▓рд╡реЙрдХрд░-реп] рдЪрд╛рдЗрд▓реНрдб рдкреНрд░реЛрд╕реЗрд╕ резрелремрезреи рдХреЙрд▓рд┐рдВрдЧ рд╕реЗрд▓реНрдлред ()[реирежрез [-режрем-режO резрел: рейрез: реирейреиреирекрей: рдЗрдиреНрдлреЛ / рд╕реНрдкреЙрдирдкреВрд▓рд╡реЙрдХрд░ --08] рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ репред реп рем рдХреЙрд▓рд┐рдВрдЧ рд╕реЗрд▓реНрдлред ()[реирежрез [-режрем-режO резрел: рейрез: реирейреиреирекрел: рдЗрдиреНрдлреЛ / рд╕реНрдкреЙрдирдкреВрд▓рд╡реЙрдХрд░ -реи] рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ реиремреж рдХреЙрд▓рд┐рдВрдЧ рд╕реЗрд▓реНрдлред ()[реирежрез [-режрем-реж: резрел: рейрез: реирей,30рейреж: рдЗрдиреНрдлреЛ / рдореЗрдирдкреНрд░реЛрд╕реЗрд╕] рдорд┐рдВрдЧрд▓: рдмрд┐рд▓рдХреБрд▓ рдЕрдХреЗрд▓реЗ[реирежрез [-режрем-режO резрел: рейрез: реирей,47рек:: рдЗрдиреНрдлреЛ / рдореЗрдирдкреНрд░реЛрд╕реЗрд╕] рдЕрдЬрд╡рд╛рдЗрди @ рдкреЗрдЯреНрд░рд╕ рддреИрдпрд╛рд░ред][реирежрез [-режрем-режR резрел: рейрез: рек реп рекрезрем: рддреНрд░реБрдЯрд┐ / рдореЗрдирдкреНрд░реЛрд╕реЗрд╕] рдЯрд╛рд╕реНрдХ рд╣реИрдВрдбрд▓рд░ рдиреЗ рддреНрд░реБрдЯрд┐ рдЙрдард╛рдИ: ValueError ('рдкрд░реНрдпрд╛рдкреНрдд рдорд╛рдиреЛрдВ рдХреЛ рдЕрдирдкреИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ (рдЕрдкреЗрдХреНрд╖рд┐рдд рей, рдорд┐рд▓рд╛ реж)',)рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо):рдлрд╝рд╛рдЗрд▓ "c: \ program files \ python36 \ lib \ рд╕рд╛рдЗрдЯ-рд╕рдВрдХреБрд▓ \ рдмрд┐рд▓рд┐рдпрд░реНрдб \ рдкреВрд▓", рд▓рд╛рдЗрди 359, рд╡рд░реНрдХрд▓реВрдк рдореЗрдВрдкрд░рд┐рдгрд╛рдо = (рд╕рдЪреНрдЪрд╛, рддреИрдпрд╛рд░_рд╕рд╛рд▓
рдлрд╝рд╛рдЗрд▓ "c: \ program files \ python36 \ lib \ рд╕рд╛рдЗрдЯ-рд╕рдВрдХреБрд▓ \ рдЕрдЬрд╡рд╛рдЗрди \ app \ рдЯреНрд░реЗрд╕рд╣реЛрдо", рдкрдВрдХреНрддрд┐ 518, _fast_trace_task рдореЗрдВ
рдХрд╛рд░реНрдп, рд╕реНрд╡реАрдХрд╛рд░, рд╣реЛрд╕реНрдЯрдирд╛рдо = _loc
рдорд╛рди: рдкрд░реНрдпрд╛рдкреНрдд рдорд╛рди рдЕрдирдкреИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ (рдЕрдкреЗрдХреНрд╖рд┐рдд 3, 0 рдорд┐рд▓рд╛)
рдкреБрд▓ рдЕрдиреБрд░реЛрдз рджреЗрдЦреЗрдВ # 4078
рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ I рдиреЗ рдЗрд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдИрд╡реЗрдВрдЯрд▓реЗрдЯ рдкреВрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди ("-P рдИрд╡реЗрдВрдЯрд▓реЗрдЯ" рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдк) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред
рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ @drewdogg рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореБрдЭреЗ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреА рд╣реИ: рдпрд╣ рдмрдЧ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ
Celery 4.1.0
Windows 10 Enterprise 64 bit
celery -A <mymodule> worker -l info
рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдкрд░
рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
pip install eventlet
celery -A <mymodule> worker -l info -P eventlet
рд╡рд░реНрдХрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП FORKED_BY_MULTIPROCESSING = 1 рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдореЗрд░реЗ рд▓рд┐рдП @auvipy рдХрд╛рдо, рдзрдиреНрдпрд╡рд╛рджред
@auvipy рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ
рдЬреЛрдбрд╝реЗрдВ:
рдЖрдпрд╛рдд os
os.environ.setdefault ('FORKED_BY_MULTIPROCESSING', '1')
рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдЬрд╡рд╛рдЗрди рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдмрдбрд╝рд╛ рд╣реИ
рд╢рд╛рдпрдж рдпрд╣ рдбреЙрдХреНрд╕ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? @wonderfulsuccess рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦрднрд╛рд▓?
@wonderfulsuccess
рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж
@auipip рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди
рдЬреЛрдбрд╝реЗрдВ:
рдЖрдпрд╛рдд os
os.environ.setdefault ('FORKED_BY_MULTIPROCESSING', '1')
рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдЬрд╡рд╛рдЗрди рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдмрдбрд╝рд╛ рд╣реИ
рдзрдиреНрдпрд╡рд╛рдж рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ!
@auvipy рдпрджрд┐ рдпрд╣ рдХреЛрдб рдХреА рдХреЗрд╡рд▓ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЕрдЬрд╡рд╛рдЗрди рдХреЗ рднреАрддрд░ рд╣реА рдХреНрдпреЛрдВ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП? рд▓рдЧрднрдЧ 2 рд╡рд░реНрд╖реЛрдВ рдХреЗ рдмрд╛рдж рднреА рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо-рдмреНрд░реЗрдХрд┐рдВрдЧ рдмрдЧ рдХреНрдпреЛрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ?
рдЕрдЬрд╡рд╛рдЗрди рдХрд╣рд╛рдБ рд░рдЦ рд╕рдХрддрд╛ рд╣реИ? рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдХреЛрдб рд╕реНрддрд░ рдореЗрдВ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЙрдЪрд┐рдд рдкреАрдЖрд░ рдХреЗ рд╕рд╛рде рдЖрдПрдВред
@auvipy рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ
рдЬреЛрдбрд╝реЗрдВ:
рдЖрдпрд╛рдд os
os.environ.setdefault ('FORKED_BY_MULTIPROCESSING', '1')
рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдЬрд╡рд╛рдЗрди рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдмрдбрд╝рд╛ рд╣реИ
рддреБрдо рдХрдорд╛рд▓ рд╣реЛ, рдзрдиреНрдпрд╡рд╛рдж рдПрдХ рдЯрди!
@auvipy рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЙрддреНрддрд░ рдЦреЛрдЬ рд░рд╣рд╛ рд╣реВрдВ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рдпрд╛ рд╣реИ, рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореБрдЭреЗ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреА рд╣реИ: рдпрд╣ рдмрдЧ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ
celery -A <mymodule> worker -l info
рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдкрд░рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: