Celery: рдПрдХ рд╣реА рдХрд╛рд░реНрдп рдПрдХ рд╕рд╛рде рдХрдИ рдмрд╛рд░ рдЪрд▓рддрд╛ рд╣реИ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 20 рдирд╡ре░ 2017  ┬╖  43рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: celery/celery

рд╕рдорд╕реНрдпрд╛ рдПрдХ рдЕрдирдЕрдЯреЗрдВрдбреЗрдб Google рд╕рдореВрд╣ рдкреЛрд╕реНрдЯ рдХреА рдПрдХ рд░реАрдкреЛрд╕реНрдЯ рд╣реИ _рдПрдХ рд╣реА рдХрд╛рд░реНрдп рдХрдИ рдмрд╛рд░ рдЪрд▓рддрд╛ рд╣реИ?_

> ./bin/celery -A celery_app report

software -> celery:4.1.0 (latentcall) kombu:4.1.0 py:3.6.1
            billiard:3.5.0.3 redis:2.10.6
platform -> system:Linux arch:64bit, ELF imp:CPython
loader   -> celery.loaders.app.AppLoader
settings -> transport:redis results:redis://localhost:6379/2

broker_url: 'redis://localhost:6379/2'
result_backend: 'redis://localhost:6379/2'
task_serializer: 'json'
result_serializer: 'json'
accept_content: ['json']
timezone: 'Europe/Berlin'
enable_utc: True
imports: 'tasks'
task_routes: {
 'tasks': {'queue': 'celery-test-queue'}}

рдореЗрд░рд╛ рдЖрд╡реЗрджрди рджреЛ, рдХрднреА-рдХрднреА рддреАрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдШрдВрдЯреЗ рдХреЗ рднреАрддрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдИрдЯреАрдП рдХреЗ рд╕рд╛рдеред рдЬрдм рдИрдЯреАрдП рдЖрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЕрдкрдиреЗ рд╕реЗрд▓реЗрд░реА рд▓реЙрдЧ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрдЦрддрд╛ рд╣реВрдВ:

[2017-11-20 09:55:34,470: INFO/ForkPoolWorker-2] Task tasks._test_exec[bd08ab85-28a8-488f-ba03-c2befde10054] succeeded in 33.81780316866934s: None
[2017-11-20 09:55:34,481: INFO/ForkPoolWorker-2] Task tasks._test_exec[bd08ab85-28a8-488f-ba03-c2befde10054] succeeded in 0.009824380278587341s: None
[2017-11-20 09:55:34,622: INFO/ForkPoolWorker-2] Task tasks._test_exec[bd08ab85-28a8-488f-ba03-c2befde10054] succeeded in 0.14010038413107395s: None
тАж
[2017-11-20 09:55:37,890: INFO/ForkPoolWorker-8] Task tasks._test_exec[bd08ab85-28a8-488f-ba03-c2befde10054] succeeded in 0.012678759172558784s: None
[2017-11-20 09:55:37,891: INFO/ForkPoolWorker-2] Task tasks._test_exec[bd08ab85-28a8-488f-ba03-c2befde10054] succeeded in 0.01177949644625187s: None
[2017-11-20 09:55:37,899: INFO/ForkPoolWorker-8] Task tasks._test_exec[bd08ab85-28a8-488f-ba03-c2befde10054] succeeded in 0.008250340819358826s: None
тАж

рдпрд╣ рджрд░реНрдЬрдиреЛрдВ рдмрд╛рд░ рджреЛрд╣рд░рд╛ рд╕рдХрддрд╛ рд╣реИред рдкрд╣рд▓реЗ рдХрд╛рд░реНрдп рдХреЗ 33 рд╕реЗрдХрдВрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ !

рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдирд╣реАрдВ рд╣реИ, рдФрд░ рдореИрдВ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред

Redis Broker Redis Results Backend Feedback Needed тЬШ Needs Testcase тЬШ

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

@georgepsarakis рддреЛ рдпрджрд┐ рдХрд╛рд░реНрдп рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдмрд╣реБрдд рдЖрдЧреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИ, рддреЛ рдореИрдВ рдКрдкрд░ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдБ? "рджреГрд╢реНрдпрддрд╛ рдЯрд╛рдЗрдордЖрдЙрдЯ" рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ? рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реЗ:

рд░реЗрдбрд┐рд╕ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рджреГрд╢реНрдпрддрд╛ рд╕рдордпрдмрд╛рд╣реНрдп 1 рдШрдВрдЯрд╛ рд╣реИред

рдЗрд╕рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдПрдХ рдШрдВрдЯреЗ рдХреЗ рднреАрддрд░ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХрд╛рд░реНрдп рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ( рдЕрд░реНрдерд╛рдд рдЗрд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реИ?) рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг; рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛ https://github.com/celery/kombu/issues/337; рдпрд╛ рдЗрд╕ рдмреНрд▓реЙрдЧ рд╕реЗ рдЙрджреНрдзрд░рдг:

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

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ visibility_timeout рдХреЛ 31,540,000 рд╕реЗрдХрдВрдб (рдПрдХ рд╡рд░реНрд╖) рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдПрдХ рддреНрд╡рд░рд┐рдд рд╕рдорд╛рдзрд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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

рд╢рд╛рдпрдж рдпрд╣ рджреГрд╢реНрдпрддрд╛ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ?

@georgepsarakis рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рд╕рдВрджреЗрд╣ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ?

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

@georgepsarakis рддреЛ рдпрджрд┐ рдХрд╛рд░реНрдп рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдмрд╣реБрдд рдЖрдЧреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИ, рддреЛ рдореИрдВ рдКрдкрд░ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдБ? "рджреГрд╢реНрдпрддрд╛ рдЯрд╛рдЗрдордЖрдЙрдЯ" рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ? рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реЗ:

рд░реЗрдбрд┐рд╕ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рджреГрд╢реНрдпрддрд╛ рд╕рдордпрдмрд╛рд╣реНрдп 1 рдШрдВрдЯрд╛ рд╣реИред

рдЗрд╕рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдПрдХ рдШрдВрдЯреЗ рдХреЗ рднреАрддрд░ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХрд╛рд░реНрдп рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ( рдЕрд░реНрдерд╛рдд рдЗрд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реИ?) рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг; рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛ https://github.com/celery/kombu/issues/337; рдпрд╛ рдЗрд╕ рдмреНрд▓реЙрдЧ рд╕реЗ рдЙрджреНрдзрд░рдг:

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

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ visibility_timeout рдХреЛ 31,540,000 рд╕реЗрдХрдВрдб (рдПрдХ рд╡рд░реНрд╖) рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдПрдХ рддреНрд╡рд░рд┐рдд рд╕рдорд╛рдзрд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрджрд┐ рдЖрдк рджреГрд╢реНрдпрддрд╛ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ 2 рдШрдВрдЯреЗ рддрдХ рдмрдврд╝рд╛ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдХрд╛рд░реНрдп рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдВрдЧреЗред

рддреЛ рдпрджрд┐ рдЖрдк рдЧрдардмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВ:

  • рд░реЗрдбрд┐рд╕ рдмреНрд░реЛрдХрд░
  • рджреЗрд░ рд╕реЗ рдкрд╛рд╡рддреА
  • рдИрдЯреАрдП рдмрд░рд╛рдмрд░/рджреГрд╢реНрдпрддрд╛ рд╕рдордпрдмрд╛рд╣реНрдп рд╕реЗ рдКрдкрд░
    рдЖрдкрдХреЛ рдХрд╛рд░реНрдп рдкрд░ рдХрдИ рдирд┐рд╖реНрдкрд╛рджрди рдорд┐рд▓рддреЗ рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ:

  • рдПрдХ рдШрдВрдЯреЗ рдмреАрдд рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдПрдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рд░реНрдп рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддреА рд╣реИред
  • рджреВрд╕рд░рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдпрд╣ рджреЗрдЦреЗрдЧрд╛ рдХрд┐ рдпрд╣ рд╕рдВрджреЗрд╢ рджреГрд╢реНрдпрддрд╛ рд╕рдордпрдмрд╛рд╣реНрдп рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдХрддрд╛рд░ рдореЗрдВ рд╣реИ рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
  • рд╕рдВрджреЗрд╢ рдХрддрд╛рд░ рдореЗрдВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
  • рдПрдХ рдЕрдиреНрдп рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдЙрд╕реА рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред
  • рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИред

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

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рд░реЗрдбрд┐рд╕ рдкрд░рд┐рд╡рд╣рди рдХреЗ рдЖрдВрддрд░рд┐рдХ рднрд╛рдЧ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд╛ рд╕рдордЭрд╛рддрд╛ рд╣реИред

@georgepsarakis , рдЕрдм рдореИрдВ рдкреВрд░реА рддрд░рд╣ рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдВред рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХрд╛ рдИрдЯреАрдП рдЕрдм рд╕реЗ рджреЛ рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдХрд╛рд░реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдПрдХ рдШрдВрдЯреЗ рдмрд╛рдж рдПрдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдЗрд╕реЗ рдХреНрдпреЛрдВ рдЙрдард╛рдПрдЧрд╛? рдХреНрдпрд╛ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ?

рдореЗрд░реА (рдЧрд▓рдд?) рдзрд╛рд░рдгрд╛ рдпрд╣ рд╣реИ рдХрд┐:

  • рдореИрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕рдордп рдХрд┐рд╕реА рдИрдЯреАрдП рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рд╢реЗрдбреНрдпреВрд▓ рдХрд░рддрд╛/рдХрд░рддреА рд╣реВрдВ; рдлрд┐рд░
  • рдХрд╛рд░реНрдп (рдпрд╛рдиреА рдЗрд╕рдХреЗ рдорд╛рд░реНрд╢рд▓ рддрд░реНрдХ) рдФрд░ рдИрдЯреАрдП рдИрдЯреАрдП рдЖрдиреЗ рддрдХ рдХрддрд╛рд░ рдореЗрдВ рдмреИрдареЗ рд░рд╣реЗрдВрдЧреЗ; рдлрд┐рд░
  • рдПрдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдИрдЯреАрдП рдореЗрдВ рдХрд╛рд░реНрдп рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред

рдЖрдкрдХрд╛ "_рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ:_" рдКрдкрд░ рдореЗрд░реА рдзрд╛рд░рдгрд╛ рд╕реЗ рдХрд╛рдлреА рдЕрд▓рдЧ рд╣реИред

рдореБрдЭреЗ рднреА рдЗрд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ? @ рдЬреЗрдирд╕реНрдЯреНрд░реЛрдПрдЧрд░

рдзрдиреНрдпрд╡рд╛рдж!

@jenstroeger рдЬреЛ рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рдкреНрд░рд╡рд╛рд╣ рдХреА рддрд░рд╣ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗрд╡рд▓ рдИрдЯреАрдП рдХреА рд╢рд░реНрдд рдкреВрд░реА рд╣реЛрдиреЗ рддрдХ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд╕реНрдердЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрд╛рддрд╛рд░ рд╕рдВрджреЗрд╢ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХрддрд╛рд░ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЙрдирдХреЗ рдЖрддреЗ рд╣реА рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рд╕рдВрджреЗрд╢ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдИрдЯреАрдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдЖрдВрддрд░рд┐рдХ рдкрд╣рд▓реБрдУрдВ рд╕реЗ рдЕрд╡рдЧрдд рдирд╣реАрдВ рд╣реВрдВред

@zivsu , рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ , рдореИрдВрдиреЗ visibility_timeout рдХреЛ _very_ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓рдХреНрд╖рдгреЛрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ @georgepsarakis рдмрддрд╛рддреЗ рд╣реИрдВ, рдпрд╣ рдПрдХ рдЦрд░рд╛рдм рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рдореБрдЭреЗ рдореВрд▓ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдкрддрд╛ рд╣реИ рдФрд░ рди рд╣реА рдЗрд╕реЗ рдареАрдХ рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

@jenstroeger рдореИрдВрдиреЗ рдХреБрдЫ рдмреНрд▓реЙрдЧ рдкрдврд╝рд╛, visibility_timeout рдмрджрд▓реЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрдкрдиреЗ рдмреЛрд░реНрдХрд░ рдХреЛ rabbitmq рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реВрдВред

@zivsu , рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдмреНрд▓реЙрдЧ рдХрд╛ рд▓рд┐рдВрдХ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд░реЗрдбрд┐рд╕ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдерд╛?

@jenstroeger рдореБрдЭреЗ рдмреНрд▓реЙрдЧ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд░реЗрдбрд┐рд╕ рдХреЛ рдмреНрд░реЛрдХрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдерд╛ред рд╢реЗрдбреНрдпреВрд▓ рдЯрд╛рд╕реНрдХ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдлрд┐рд░ рд╕реЗ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП rebbitmq рдЪреБрдирддрд╛ рд╣реВрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдореЗрд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ:
django==1.11.6
рдЕрдЬрд╡рд╛рдЗрди == 4.2rc2
django-рдЕрдЬрд╡рд╛рдЗрди-рдмреАрдЯ==1.0.1

рд╕рдорд╛рдпреЛрдЬрди:

CELERY_ENABLE_UTC = True
# CELERY_TIMEZONE = 'America/Los_Angeles'

рдФрд░ рд╡рд╣ рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░реНрдп рд╕рдВрдпреЛрдЬрди рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореБрдЭреЗ рдЕрдкрдиреЗ рдЖрд╡рдзрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдпреВрдЯреАрд╕реА рдЯрд╛рдЗрдордЬрд╝реЛрди рдореЗрдВ рд╢реЗрдбреНрдпреВрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдпрджрд┐ рдЖрдк CELERY_TIMEZONE рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ CELERY_ENABLE_UTC рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЖрд╡рдзрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрдИ рдмрд╛рд░ рдЪрд▓рд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред

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

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

from celery import Celery


class MyAppCelery(Celery):
    def now(self):
        """Return the current time and date as a datetime."""
        from datetime import datetime
        return datetime.now(self.timezone)

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдХрд┐рд╕реА рдФрд░ рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрднреА-рдХрднреА рд╣реЛрддреА рд╣реИ рдЬрдм рдорд▓реНрдЯреАрдХреЛрд░ рдорд╢реАрдиреЛрдВ рдкрд░ рдмреАрдЯ рдХреЗ рд╕рд╛рде рд╕реЗрд▓реЗрд░реА рдЬреЙрдм рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ps aux | grep celery рдлрд┐рд░ kill <each_pid> рдЪрд▓рд╛рдиреЗ рдХреА рдЖрджрдд рд╣реЛ рдЧрдИ рд╣реИред

рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╕рд▓рд╛рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдорд╢реАрди рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдк рд╣рдореЗрд╢рд╛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк "рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ" рд╕рдВрджреЗрд╢ рджреЗрдЦреЗрдВред

{"log":"INFO 2018-10-09 17:41:08,468 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-09T17:41:08.468912644Z"}
{"log":"INFO 2018-10-09 17:41:08,468 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-09T17:41:08.468955918Z"}
{"log":"INFO 2018-10-09 19:46:04,293 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-09T19:46:04.293780045Z"}
{"log":"INFO 2018-10-09 19:46:04,293 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-09T19:46:04.293953621Z"}
{"log":"INFO 2018-10-09 20:46:04,802 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-09T20:46:04.802819711Z"}
{"log":"INFO 2018-10-09 20:46:04,802 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-09T20:46:04.802974829Z"}
{"log":"INFO 2018-10-09 21:46:05,335 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-09T21:46:05.336081133Z"}
{"log":"INFO 2018-10-09 21:46:05,335 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-09T21:46:05.336107517Z"}
{"log":"INFO 2018-10-09 22:46:05,900 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-09T22:46:05.901078395Z"}
{"log":"INFO 2018-10-09 22:46:05,900 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-09T22:46:05.901173663Z"}
{"log":"INFO 2018-10-09 23:46:06,484 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-09T23:46:06.485276904Z"}
{"log":"INFO 2018-10-09 23:46:06,484 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-09T23:46:06.485415253Z"}
{"log":"INFO 2018-10-10 00:46:07,072 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-10T00:46:07.072529828Z"}
{"log":"INFO 2018-10-10 00:46:07,072 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-10T00:46:07.072587887Z"}
{"log":"INFO 2018-10-10 01:46:07,602 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-10T01:46:07.60325321Z"}
{"log":"INFO 2018-10-10 01:46:07,602 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-10T01:46:07.603327426Z"}
{"log":"INFO 2018-10-10 02:46:08,155 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-10T02:46:08.155868992Z"}
{"log":"INFO 2018-10-10 02:46:08,155 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-10T02:46:08.155921893Z"}
{"log":"INFO 2018-10-10 03:46:08,753 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-10T03:46:08.75401387Z"}
{"log":"INFO 2018-10-10 03:46:08,753 strategy celery.worker.strategy 1 140031597243208 Received task: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f]  ETA:[2018-10-10 04:00:00+00:00] \n","stream":"stderr","time":"2018-10-10T03:46:08.754056891Z"}
{"log":"DEBUG 2018-10-10 04:00:00,013 request celery.worker.request 1 140031597243208 Task accepted: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] pid:70\n","stream":"stderr","time":"2018-10-10T04:00:00.013548928Z"}
{"log":"DEBUG 2018-10-10 04:00:00,013 request celery.worker.request 1 140031597243208 Task accepted: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] pid:70\n","stream":"stderr","time":"2018-10-10T04:00:00.013592318Z"}
{"log":"DEBUG 2018-10-10 04:00:00,013 request celery.worker.request 1 140031597243208 Task accepted: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] pid:71\n","stream":"stderr","time":"2018-10-10T04:00:00.014000106Z"}
{"log":"DEBUG 2018-10-10 04:00:00,013 request celery.worker.request 1 140031597243208 Task accepted: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] pid:71\n","stream":"stderr","time":"2018-10-10T04:00:00.014167558Z"}
{"log":"DEBUG 2018-10-10 04:00:00,014 request celery.worker.request 1 140031597243208 Task accepted: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] pid:64\n","stream":"stderr","time":"2018-10-10T04:00:00.014661348Z"}
{"log":"DEBUG 2018-10-10 04:00:00,014 request celery.worker.request 1 140031597243208 Task accepted: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] pid:64\n","stream":"stderr","time":"2018-10-10T04:00:00.014684354Z"}
{"log":"DEBUG 2018-10-10 04:00:00,014 request celery.worker.request 1 140031597243208 Task accepted: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] pid:65\n","stream":"stderr","time":"2018-10-10T04:00:00.01514884Z"}
{"log":"DEBUG 2018-10-10 04:00:00,014 request celery.worker.request 1 140031597243208 Task accepted: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] pid:65\n","stream":"stderr","time":"2018-10-10T04:00:00.015249646Z"}
{"log":"DEBUG 2018-10-10 04:00:00,015 request celery.worker.request 1 140031597243208 Task accepted: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] pid:66\n","stream":"stderr","time":"2018-10-10T04:00:00.01571124Z"}
{"log":"DEBUG 2018-10-10 04:00:00,015 request celery.worker.request 1 140031597243208 Task accepted: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] pid:66\n","stream":"stderr","time":"2018-10-10T04:00:00.01580249Z"}
{"log":"DEBUG 2018-10-10 04:00:00,019 request celery.worker.request 1 140031597243208 Task accepted: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] pid:68\n","stream":"stderr","time":"2018-10-10T04:00:00.019260948Z"}
{"log":"DEBUG 2018-10-10 04:00:00,019 request celery.worker.request 1 140031597243208 Task accepted: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] pid:68\n","stream":"stderr","time":"2018-10-10T04:00:00.019322151Z"}
{"log":"DEBUG 2018-10-10 04:00:00,245 request celery.worker.request 1 140031597243208 Task accepted: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] pid:70\n","stream":"stderr","time":"2018-10-10T04:00:00.245159563Z"}
{"log":"DEBUG 2018-10-10 04:00:00,245 request celery.worker.request 1 140031597243208 Task accepted: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] pid:70\n","stream":"stderr","time":"2018-10-10T04:00:00.245177267Z"}
{"log":"DEBUG 2018-10-10 04:00:00,245 request celery.worker.request 1 140031597243208 Task accepted: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] pid:67\n","stream":"stderr","time":"2018-10-10T04:00:00.245338722Z"}
{"log":"DEBUG 2018-10-10 04:00:00,245 request celery.worker.request 1 140031597243208 Task accepted: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] pid:67\n","stream":"stderr","time":"2018-10-10T04:00:00.245351289Z"}
{"log":"DEBUG 2018-10-10 04:00:00,256 request celery.worker.request 1 140031597243208 Task accepted: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] pid:65\n","stream":"stderr","time":"2018-10-10T04:00:00.256770035Z"}
{"log":"DEBUG 2018-10-10 04:00:00,256 request celery.worker.request 1 140031597243208 Task accepted: main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] pid:65\n","stream":"stderr","time":"2018-10-10T04:00:00.256788689Z"}
{"log":"INFO 2018-10-10 04:00:00,371 trace celery.app.trace 68 140031597243208 Task main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] succeeded in 0.35710329699213617s: None\n","stream":"stderr","time":"2018-10-10T04:00:00.371967002Z"}
{"log":"INFO 2018-10-10 04:00:00,371 trace celery.app.trace 68 140031597243208 Task main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] succeeded in 0.35710329699213617s: None\n","stream":"stderr","time":"2018-10-10T04:00:00.371983293Z"}
{"log":"INFO 2018-10-10 04:00:00,387 trace celery.app.trace 69 140031597243208 Task main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] succeeded in 0.10637873200175818s: None\n","stream":"stderr","time":"2018-10-10T04:00:00.388119538Z"}
{"log":"INFO 2018-10-10 04:00:00,387 trace celery.app.trace 69 140031597243208 Task main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] succeeded in 0.10637873200175818s: None\n","stream":"stderr","time":"2018-10-10T04:00:00.388166317Z"}
{"log":"INFO 2018-10-10 04:00:00,404 trace celery.app.trace 70 140031597243208 Task main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] succeeded in 0.16254851799749304s: None\n","stream":"stderr","time":"2018-10-10T04:00:00.404834545Z"}
{"log":"INFO 2018-10-10 04:00:00,404 trace celery.app.trace 70 140031597243208 Task main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] succeeded in 0.16254851799749304s: None\n","stream":"stderr","time":"2018-10-10T04:00:00.404862208Z"}
{"log":"INFO 2018-10-10 04:00:00,421 trace celery.app.trace 65 140031597243208 Task main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] succeeded in 0.1654666289978195s: None\n","stream":"stderr","time":"2018-10-10T04:00:00.421607856Z"}
{"log":"INFO 2018-10-10 04:00:00,421 trace celery.app.trace 65 140031597243208 Task main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] succeeded in 0.1654666289978195s: None\n","stream":"stderr","time":"2018-10-10T04:00:00.421674687Z"}
{"log":"INFO 2018-10-10 04:00:00,438 trace celery.app.trace 67 140031597243208 Task main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] succeeded in 0.19588526099687442s: None\n","stream":"stderr","time":"2018-10-10T04:00:00.438295459Z"}
{"log":"INFO 2018-10-10 04:00:00,438 trace celery.app.trace 67 140031597243208 Task main.batch.sendspam[2a6e5dc8-5fd2-40bd-8f65-7e7334a14b3f] succeeded in 0.19588526099687442s: None\n","stream":"stderr","time":"2018-10-10T04:00:00.438311386Z"}
...

рдЕрдЧрд░ рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд╛рд░реНрдп рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рд░ рдШрдВрдЯреЗ рдЗрд╕реЗ рдЙрд╕реА рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдирдпрд╛ рдХрд╛рд░реНрдп рдорд┐рд▓реЗрдЧрд╛ред рдирддреАрдЬрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕рднреА рдИрдЯреАрдП рд╕рдВрджреЗрд╢ 10 рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рд╣рдо ETA рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ Rabbitmq рд╣реА рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИ

рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдмрдЧ рд╕реЗ рдорд┐рд▓реЗрдВред рд╕рд╛рде рд╣реА ps aux | grep celery рдиреЗ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рджреЛ рдмрд╛рд░ рдЕрдзрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╢реБрд░реВ рдХреАрдВред рд▓реЙрдиреНрдЪрд┐рдВрдЧ рд╕реЗрд▓реЗрд░реА рд╡рд░реНрдХрд░реНрд╕ рдХреЛ рдХрдорд╛рдВрдб рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ --pool gevent рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рд╣реЛ рдЧрдИ рд╣реИ рдФрд░ рд╕рдЯреАрдХ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╢реБрд░реВ рд╣реЛ рдЪреБрдХреЗ рд╡рд░реНрдХрд░реНрд╕ рдФрд░ рд╕реЗрд▓реЗрд░реА рдмреАрдЯред рдФрд░ рдЕрдм рдореИрдВ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдФрд░ рд╕рдорд╛рдзрд╛рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХреЗ рдЗрдореНрдпреВрд▓реЗрд╢рди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд░рд╣рд╛ рд╣реЛ? рдпрд╛рдиреА "broker_transport_options": {"ack_emulation": False} ред рд╢реЙрд░реНрдЯ-рд░рдирд┐рдВрдЧ рдХрд╛рд░реНрдпреЛрдВ/рдЙрд▓рдЯреА рдЧрд┐рдирддреА рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрдореА?

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдлрд┐рдХреНрд╕ рдорд┐рд▓рд╛?

рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди?

рдЯрдХреНрдХрд░, рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ред

рд░реЗрдбрд┐рд╕ рдХреЛ рдмреНрд░реЛрдХрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рд╣реБрдП рдпрд╣рд╛рдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред

$ pipenv graph --bare | grep -i "redis\|celery"                                                                                                                                                                                                                              
---
channels-redis==2.4.0
  - aioredis [required: ~=1.0, installed: 1.3.0]
    - hiredis [required: Any, installed: 1.0.0]
django-celery-beat==1.5.0
django-celery-results==1.1.2
  - celery [required: >=4.3,<5.0, installed: 4.3.0]
  - celery [required: >=3.1.0, installed: 4.3.0]
  - pylint-celery [required: ==0.3, installed: 0.3]
redis==3.2.1

рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЕрдЬрд╡рд╛рдЗрди рд╕рдВрд╕реНрдХрд░рдг 4.3.0
рдЕрдЬрд╡рд╛рдЗрди = рдЕрдЬрд╡рд╛рдЗрди ('рдХрд╛рд░реНрдп', рджрд▓рд╛рд▓ = 'pyamqp://nosd:sdsd@rabbit//', config_from_object={"broker_transport_options":{'visibility_timeout': 18000}})

рдореИрдВ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕ рдЖрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ
рдЕрдЬрд╡рд╛рдЗрди -рдПрдХ рдХрд╛рд░реНрдп рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ --pidfile=/tmp/celery_worker.pid -f=/tmp/celery_worker.log -Q Celery_queue --loglevel=info --pool=solo --concurrency=1 -nworker_celery --detach -- рдмрд┐рдирд╛ рдЧрдкрд╢рдк рдХреЗ --рдмрд┐рдирд╛ рдШреБрд▓рдорд┐рд▓реЗ -- рдмрд┐рдирд╛ рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдХреЗ

рдХреНрдпрд╛ рдЖрдк рдЕрдЬрд╡рд╛рдЗрди == 4.4.0rc4 рдПрдХ рдХреЛрд╢рд┐рд╢ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?

рдЕрдЬрд╡рд╛рдЗрди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдПрдХ рд╣реА рдХрд╛рд░реНрдп рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рджреЛ рдмрд╛рд░ рдПрдХ рд╣реА рдХрд╛рд░реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реИ ред
рдпрд╣рд╛рдБ рд▓реЙрдЧ рд╣реИрдВ

[2019-11-29 08:07:35,464: INFO/MainProcess] Received task: app.jobs.booking.bookFlightTask[657985d5-c3a3-438d-a524-dbb129529443]  
[2019-11-29 08:07:35,465: INFO/MainProcess] Received task: app.jobs.booking.bookFlightTask[657985d5-c3a3-438d-a524-dbb129529443]  
[2019-11-29 08:07:35,471: WARNING/ForkPoolWorker-4] in booking funtion1
[2019-11-29 08:07:35,473: WARNING/ForkPoolWorker-3] in booking funtion1
[2019-11-29 08:07:35,537: WARNING/ForkPoolWorker-3] book_request_pp
[2019-11-29 08:07:35,543: WARNING/ForkPoolWorker-4] book_request_pp

рджреЛрдиреЛрдВ рдПрдХ рд╕рд╛рде рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ,

рд╕реЗрд▓реЗрд░реА==4.4.0rc4, boto3==1.9.232, kombu==4.6.6 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЕрдЬрдЧрд░ рдлреНрд▓рд╛рд╕реНрдХ рдореЗрдВ SQS рдХреЗ рд╕рд╛рдеред
рдПрд╕рдХреНрдпреВрдПрд╕ рдореЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рджреГрд╢реНрдпрддрд╛ рдЯрд╛рдЗрдордЖрдЙрдЯ 30 рдорд┐рдирдЯ рд╣реИ, рдФрд░ рдореЗрд░реЗ рдХрд╛рд░реНрдп рдореЗрдВ рдИрдЯреАрдП рдирд╣реАрдВ рд╣реИ рдФрд░ рди рд╣реА рдПрдХреЗ рд╣реИред

рдЪрд▓ рд░рд╣реЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреА рддрд░рд╣,
рдЕрдЬрд╡рд╛рдЗрди рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ -рдП app.jobs.run -l рдЬрд╛рдирдХрд╛рд░реА --pidfile=/var/run/celery/celery.pid --logfile=/var/log/celery/celery.log --time-limit=7200 --concurrency =8

@auvipy , рдХреЛрдИ рдорджрдж рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд╣реЛрдЧреАред

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

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

SQS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдкрд░рд┐рдгрд╛рдо рдмреИрдХрдПрдВрдб MYSQL рд╣реИ, sqlalchemy рдХреЗ рд╕рд╛рдеред
рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдБ SO рдкрд░ рд╣реИрдВ,
@auvipy рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

@thedrow рдХреНрдпрд╛ рдЖрдк рдмреНрд▓реВрдордмрд░реНрдЧ рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ?

@ рдиреАрддреАрд╢-рдЗрдЯрд▓рд╛рдЗрдЯ: рдЕрдЬрд╡рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдЖрдк рдХрд┐рд╕ рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@ рдиреАрддреАрд╢-рдЗрдЯрд▓рд╛рдЗрдЯ: рдЕрдЬрд╡рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдЖрдк рдХрд┐рд╕ рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдпреВрдЯреАрд╕реА рд╣реИред sqs рдореЗрдВ, рдпрд╣ рдХреНрд╖реЗрддреНрд░ US East (N. рд╡рд░реНрдЬреАрдирд┐рдпрд╛) рд╣реИред

рдореЗрд░реЗ рдкрд╛рд╕ рдПрд╕рдХреНрдпреВрдПрд╕ рдХреЗ рд╕рд╛рде рдЕрдЬрд╡рд╛рдЗрди рдЪрд▓рд╛рдиреЗ рдХрд╛ рдПрдХ рд╕рдорд╛рди рдорд╛рдорд▓рд╛ рдерд╛ред рдореИрдВрдиреЗ countdown=60 рдХреЗ рд╕рд╛рде рдПрдХ рдбрдореА рдХрд╛рд░реНрдп рдЪрд▓рд╛рдпрд╛, рдЬрдмрдХрд┐ рдПрд╕рдХреНрдпреВрдПрд╕ рдореЗрдВ рджреГрд╢реНрдпрддрд╛ рдЯрд╛рдЗрдордЖрдЙрдЯ 30 рд╕реЗрдХрдВрдб рд╣реИред рдпрд╣рд╛рдБ рдореБрдЭреЗ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ:

рдиреЛрдЯ: рдореИрдВрдиреЗ рд╕реЗрд▓реЗрд░реА рдХреЛ --concurrency=1 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рджреЛ рдзрд╛рдЧреЗ рд╣реИрдВ, рд╣реИ рдирд╛?

[2020-02-18 14:46:32 +0000] [INFO] Received task: notification[b483a22f-31cc-4335-9709-86041baa8f05]  ETA:[2020-02-18 14:47:31.898563+00:00] 
[2020-02-18 14:47:02 +0000] [INFO] Received task: notification[b483a22f-31cc-4335-9709-86041baa8f05]  ETA:[2020-02-18 14:47:31.898563+00:00] 
[2020-02-18 14:47:32 +0000] [INFO] Task notification[b483a22f-31cc-4335-9709-86041baa8f05] succeeded in 0.012232275999849662s: None
[2020-02-18 14:47:32 +0000] [INFO] Task notification[b483a22f-31cc-4335-9709-86041baa8f05] succeeded in 0.012890915997559205s: None

рдХрд╛рд▓рд╛рдиреБрдХреНрд░рдорд┐рдХ рдХреНрд░рдо рдореЗрдВ рдХреНрдпрд╛ рд╣реБрдЖ:

  1. 14:46:32 рдХрд╛рд░реНрдп рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ, рдФрд░ SQS рдиреЗ рдЗрд╕реЗ inflight рдореЛрдб рдореЗрдВ 30 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рд░рдЦрд╛
  2. 14:47:02 рд╡рд╣реА рдХрд╛рд░реНрдп рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ, рдХреНрдпреЛрдВрдХрд┐ рджреГрд╢реНрдпрддрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛
  3. 14:47:32 рджреЛрдиреЛрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдпрд╣ рд╕реЗрд▓реЗрд░реА (?) рдореЗрдВ рдПрдХ рдмрдЧ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ рдХрд┐ рдХреНрдпрд╛ рд╕рдВрджреЗрд╢ рдЖрдИрдбреА ( b483a22f-31cc-4335-9709-86041baa8f05 ) рдкрд╣рд▓реЗ рд╣реА рдЙрд╕ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд▓реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рд╕рдВрджреЗрд╢ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рд╣реИрд╢ рд╕реВрдЪреА рд╣реЛ, рддрд╛рдХрд┐ рд╕реЗрд▓реЗрд░реА рдпрд╣ рддрдп рдХрд░ рд╕рдХреЗ рдХрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд╛рд░реНрдп рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп рд╣реИ рдпрд╛ рдирд╣реАрдВред рдХреНрдпрд╛ рдЕрдЬрд╡рд╛рдЗрди рдРрд╕рд╛ рдХрд░ рд╕рдХрддреА рд╣реИ?

рдиреЛрдЯ 2:
рд╣рдо рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдпрддрд╛ рд╕рдордпрдмрд╛рд╣реНрдп рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд░ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдВрджреЗрд╢ рдХреЛ рджреВрд╕рд░реЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЙрдард╛рдП рдЬрд╛рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧреЗрдЧрд╛ред рдЗрд╕реЗ рдмрд╣реБрдд рдХрдо рд╕реЗрдЯ рдХрд░рдирд╛ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░реЗрдЧрд╛ред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред

[2020-05-11 15:31:23,673: рд╕реВрдЪрдирд╛/рдореБрдЦреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛] рдкреНрд░рд╛рдкреНрдд рдХрд╛рд░реНрдп: ee_external_attributes.tasksред рд░реАрдХреНрд░рд┐рдПрдЯ_рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХ_рд╡реИрд▓реНрдпреВ[53046bd7-2a19-4f72-808f-d712eaecb0e8]
[2020-05-11 15:31:28,673: рд╕реВрдЪрдирд╛/рдореБрдЦреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛] рдкреНрд░рд╛рдкреНрдд рдХрд╛рд░реНрдп: ee_external_attributes.tasks.recreate_specific_values[53046bd7-2a19-4f72-808f-d712eaecb0e8]

(рдореИрдВрдиреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкреЛрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рдореЗрдВ рдХрд╛рд░реНрдп рдХрд╛ рдирд╛рдо рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИред)

рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдмрд╛рдзрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг, рдореЗрд░рд╛ рдПрдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХрд╛рд░реНрдп рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рд╕реЗрдЯрд┐рдВрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА
CELERY_WORKER_PREFETCH_MULTIPLIER = 1
рдпрд╣ рдорджрдж рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдХрд▓рд╛ред

рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
рдЕрдЬрд╡рд╛рдЗрди == 4.4.1
django-рдЕрдЬрд╡рд╛рдЗрди-рдкрд░рд┐рдгрд╛рдо == 1.2.1

рдФрд░ рдореИрдВ рдХрддрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ SQS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣реИред рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдореЗрд░реА рдХрддрд╛рд░ рдкрд░ рдореЗрд░реА "рдбрд┐рдлрд╝реЙрд▓реНрдЯ рджреГрд╢реНрдпрддрд╛ рд╕рдордпрдмрд╛рд╣реНрдп" рд╕реЗрдЯрд┐рдВрдЧ рдХреЗрд╡рд▓ 5 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЧрдИ рдереАред рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рджреВрд╕рд░реЗ рдХрд░реНрдордЪрд╛рд░реА рдиреЗ рдЙрд╕ рд╕рдордп рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрдм рдкрд╣рд▓рд╛ рдЙрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдорд╛рди рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдкрд╣рд▓реЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреА рдореГрддреНрдпреБ рд╣реЛ рдЧрдИ рдереАред рдореИрдВрдиреЗ рджреГрд╢реНрдпрддрд╛ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ 2 рдорд┐рдирдЯ рддрдХ рдмрдврд╝рд╛ рджрд┐рдпрд╛ рд╣реИ, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмреЗрд╣рддрд░ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рд░реНрдп рдереЗ рдЬрд┐рдирдореЗрдВ 8-12 рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рдереЗ, рдЗрд╕рд▓рд┐рдП 2 рдорд┐рдирдЯ рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕реЗ рд╣рд▓ рдХрд░реЗрдЧрд╛ред

рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рджреВрд╕рд░реЗ рдХрд░реНрдордЪрд╛рд░реА рдиреЗ рдЙрд╕ рд╕рдордп рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрдм рдкрд╣рд▓рд╛ рдЙрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдорд╛рди рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдкрд╣рд▓реЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреА рдореГрддреНрдпреБ рд╣реЛ рдЧрдИ рдереАред

@ рдЬреВрд▓реАрдЧреЛрд▓реНрдбрдмрд░реНрдЧ , рд╕реЗрд▓реЗрд░реА рдХреЗ рд▓рд┐рдП рдиреМрдХрд░рд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рдпрд╣ рдПрдХ рдХрдард┐рди рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ред рдПрдХ рдЕрдЬрд╡рд╛рдЗрди рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЛ рдХрднреА рднреА рдРрд╕рд╛ рдХрд╛рдо рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕реЗ рджреВрд╕рд░реЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЗ рдХрддрд╛рд░ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реЛ рдФрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд░ рд░рд╣рд╛ рд╣реЛ; рд╕реЛрдЪреЛ рдХрд┐ рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ред (рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдЬрд╡рд╛рдЗрди рд╣реИ, рдореИрдВ рдЕрдм рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рд╕реЗ рд╣реИрд░рд╛рди рд╣реВрдБ )

рдореБрдЭреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 10 рдХрд░реНрдордЪрд╛рд░реА (рдЕрдЬрд╡рд╛рдЗрди рдРрдк рдЗрдВрд╕реНрдЯреЗрдВрд╕) рд╣реИрдВ рдЬреЛ рд░реЗрдбрд┐рд╕ рд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рд▓рдХреНрд╖рдг:
рдЕрдЬрд╡рд╛рдЗрди рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдПрдХ рдИрдЯреАрдП рдХрд╛рд░реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ 30 рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рдпреЛрдЬрдирд╛рдмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреЙрдб рдХреЛ рдШреБрдорд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЛ рдорд╛рд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╕рднреА рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдорд╛рд░реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдирдП рдХрд░реНрдордЪрд╛рд░реА рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ), рддреЛ рд╕рднреА рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдп рдХрд░реЗрдВрдЧреЗ рдФрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕рдордп рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗред
рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рд╡рд░реНрд╖ рддрдХ рдХреЗ рдХрдИ рдШрдВрдЯреЛрдВ рдХреЗ рд▓рд┐рдП visibility_timeout рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдорд╛рди рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рдЕрднреА рднреА рд╡рд╣реА рдерд╛ред рд╕реЗрдЯрд┐рдВрдЧ enable_utc = True , рдпрд╛ worker_prefetch_multiplier = 1 рдХреА рдХрдореА рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░реЗрдЧрд╛ рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░рд╛ рдореБрджреНрджрд╛ рдерд╛:

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

рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рджреВрд╕рд░реЗ рдХрд░реНрдордЪрд╛рд░реА рдиреЗ рдЙрд╕ рд╕рдордп рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрдм рдкрд╣рд▓рд╛ рдЙрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдорд╛рди рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдкрд╣рд▓реЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреА рдореГрддреНрдпреБ рд╣реЛ рдЧрдИ рдереАред

@ рдЬреВрд▓реАрдЧреЛрд▓реНрдбрдмрд░реНрдЧ , рд╕реЗрд▓реЗрд░реА рдХреЗ рд▓рд┐рдП рдиреМрдХрд░рд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рдпрд╣ рдПрдХ рдХрдард┐рди рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ред рдПрдХ рдЕрдЬрд╡рд╛рдЗрди рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЛ рдХрднреА рднреА рдРрд╕рд╛ рдХрд╛рдо рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕реЗ рджреВрд╕рд░реЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЗ рдХрддрд╛рд░ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реЛ рдФрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд░ рд░рд╣рд╛ рд╣реЛ; рд╕реЛрдЪреЛ рдХрд┐ рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ред (рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдЬрд╡рд╛рдЗрди рд╣реИ, рдореИрдВ рдЕрдм рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рд╕реЗ рд╣реИрд░рд╛рди рд╣реВрдБ )

рд╢рд┐рдХрд╛рдпрдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рд╕рдорд╛рдзрд╛рди рдФрд░ рдкреАрдЖрд░ рд▓реЗрдХрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╣рдорд╛рд░реА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 10 рдХрд░реНрдордЪрд╛рд░реА (рдЕрдЬрд╡рд╛рдЗрди рдРрдк рдЗрдВрд╕реНрдЯреЗрдВрд╕) рд╣реИрдВ рдЬреЛ рд░реЗрдбрд┐рд╕ рд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

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

@elMateso рдореБрдЭреЗ k8s рдкрд░ рдПрдпрд░рдлреНрд▓реЛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рдореБрджреНрджреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ (рдкреЙрдбреНрд╕ рдкрд░ рдЙрдкрднреЛрдХреНрддрд╛ рдФрд░ рдХрддрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд░реЗрдбрд┐рд╕)ред рд▓реЗрдХрд┐рди рдореИрдВ рддреИрдирд╛рддреА рдХреЛ рд╕реНрдерд┐рд░ рдФрд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рд╢рд╛рдпрдж рд╡реЗ рдЯрд┐рдкреНрд╕ рдЖрдкрдХреА рдорджрдж рдХрд░реЗрдВрдЧреЗ:
https://www.polidea.com/blog/application-scalability-kubernetes/#tips -for-hpa

рдпрд╣рд╛рдВ рд╡рд╣реА рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИред

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

рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╣рдо рд░реЗрдбрд┐рд╕ рдХреЛ рдмреНрд░реЛрдХрд░ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВред RabbitMQ рдореЗрдВ рдмрджрд▓рдирд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╣реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП https://docs.celeryproject.org/en/latest/tutorials/task-cookbook.html#ensuring -a-task-is-only-executed-one-at-a-time

@ErikKalkoken рд╣рдо рдЕрдВрдд рдореЗрдВ рдареАрдХ рдпрд╣реА рдХрд░ рд░рд╣реЗ рд╣реИрдВред

def semaphore(fn):
    @wraps(fn)
    def wrapper(self_origin, *args, **kwargs):
        cache_name = f"{UID}-{args[0].request.id}-semaphore"
        agreement_redis = AgreementsRedis()
        if not agreement_redis.redis.set(cache_name, "", ex=30, nx=True):
          Raise Exception("...")
        try:
            return fn(self_origin, *args, **kwargs)
        finally:
            agreement_redis.redis.delete(cache_name)

    return wrapper

рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдЕрдЬрд╡рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реЗрд▓реЗрд░реА рдПрдХрд╛рдзрд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди рдПрдХ рд╣реА рддрд░реНрдХ рд╣реИ, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ task_id рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдХреИрд╢ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдм рддрдХ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕ рдЬрдирд╕рдВрдкрд░реНрдХ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИ https://github.com/vinayinvicible/kombu/commit/a755ba14def558f2983b3ff3358086ba55521dcc

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

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

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

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

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

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

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