рдЕрдЬрд╡рд╛рдЗрди рдХреЗ 50 рд╢реЗрдб

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


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


рд╕реНрдкреАрдХрд░ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рдУрд▓реЗрдЧ рдЪрд░реНрдХрд┐рди ( рдмрд╣реВрд╕ ) 8 рд╡рд░реНрд╖реЛрдВ рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдкрд╛рдпрдерди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рдХрдИ рдкреНрд░рд╕рд┐рджреНрдз рдХрдВрдкрдирд┐рдпреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ : рдпрд╛рдВрдбреЗрдХреНрд╕, рд░рд╛рдордмреНрд▓рд░ , рдЖрд░рдмреАрд╕реА, рдХрд╛рд╕реНрдкрд░рд╕реНрдХреА рд▓реИрдмред рдЕрдм рдлрд┐рдирдЯреЗрдХ-рд╕реНрдЯреЗрдЯрдкреЙрдиреА рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЗрдВ рдЯреЗрдХрд▓рд╛рдЗрдб рдХрд░реЗрдВред

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

рдУрд▓реЗрдЧ рдиреЗ рдХрд╛рдо рдХреЗ рдкреНрд░рдореБрдЦ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА:

  • рдЖрдк рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд┐рди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЖрдкрдиреЗ рд╕реЗрд▓реЗрд░реА рдХреНрдпреЛрдВ рдЪреБрдирд╛ред
  • рдЕрдЬрд╡рд╛рдЗрди рдиреЗ рдХреИрд╕реЗ рдорджрдж рдХреАред
  • рд▓реЛрдб рдХреЗ рддрд╣рдд рдЕрдЬрд╡рд╛рдЗрди рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред
  • рдЕрдЬрд╡рд╛рдЗрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреИрд╕реЗ рдХрд░реЗрдВред

рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдбрд┐рдЬрд╛рдЗрди рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬреЛ рдХрд┐ рд╕реЗрд▓реЗрд░реА рдореЗрдВ рд▓рд╛рдкрддрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, 2018 рдореЗрдВ, рдФрд░ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд╣рд▓реЗ рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдПрдХ рдкрд╛рда рд╕рдВрд╕реНрдХрд░рдг рд╣реИред

рд╕рдорд╕реНрдпрд╛рдУрдВ


рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛:

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

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

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

рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЕрдВрддрд┐рдо рд╢реНрд░реЗрдгреА рд░рдЦрд░рдЦрд╛рд╡ рдХрд╛рд░реНрдп рд╣реИ : рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЛ рджреЗрдЦрдирд╛, рджреЗрдЦрдирд╛, рдареАрдХ рдХрд░рдирд╛, рдореЙрдирд┐рдЯрд░ рдХрд░рдирд╛ рдЖрджрд┐ред

рдмрд▓реНрдХ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП, рдмреИрдЪ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдЬреЛ рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдЙрд╕рдХреА рдЧрдгрдирд╛ рдФрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдмреИрдЪ рдореЛрдб рдореЗрдВред

рдПрдХ рд╣реА рдЕрд╡рдзрд╛рд░рдгрд╛ рдореЗрдВ рдХреНрд▓рд╛рд╕рд┐рдХ рдПрдХреНрд╕рдЯреНрд░реИрдХреНрдЯ, рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо, рд▓реЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВ :

  • рдмрд╛рд╣рд░реА рд╕реНрд░реЛрддреЛрдВ (рдмрд╛рд╣реНрдп рдПрдкреАрдЖрдИ) рд╕реЗ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдирд╛;
  • рдЕрд╕рдВрд╕рд╛рдзрд┐рдд рд░рдЦрдирд╛;
  • рдбреЗрдЯрд╛ рдФрд░ рдкрдврд╝рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп;
  • рд╣рдо рд╕рд╣реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдмрд╛рдж рдореЗрдВ рдпреВрдЖрдИ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред

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

  • рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдорддрджрд╛рди рдХрд╛рд░реНрдп рдЪрд▓рд╛рдирд╛;
  • рд╢рд░реНрддреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдп рдЪрд▓рд╛рдПрдВред

рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рдореЗрдВ, рдпрд╣ рдЕрднреА рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рд▓реЗрдХрд┐рди рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдореЗрдВ рд╢рд╛рдпрдж рдХреБрдЫ рдФрд░ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред

рдЙрдкрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ


рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдереАрдВ:

  • рд╣рдорд╛рд░реА рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖рд╛рдУрдВ рдХреЛ рд╕рд╛рдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╢реАрд▓рддрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
  • рдмреИрд╕рд╛рдЦреА рдХреЗ рдмрд┐рдирд╛ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА ред
  • рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ ред рд╣рдо рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕реЗрдВрдЯреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рднреА рдЬрдЧрд╣ рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд╕рд╛рде рд╣реА Django рднреАред
  • рдкреНрд░рджрд░реНрд╢рди , рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рд░реНрдп рд╣реИрдВред
  • рдкрд░рд┐рдкрдХреНрд╡рддрд╛, рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдФрд░ рд╕рдХреНрд░рд┐рдп рд╡рд┐рдХрд╛рд╕ рд╕реНрдкрд╖реНрдЯ рдЪреАрдЬреЗрдВ рд╣реИрдВред рд╣рдо рдПрдХ рдРрд╕реЗ рдЙрдкрдХрд░рдг рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рдереЗ рдЬреЛ рд╕рдорд░реНрдерд┐рдд рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛред
  • рдкреНрд░рд▓реЗрдЦрди рдХреА рдкрд░реНрдпрд╛рдкреНрддрддрд╛ - рдХрд╣реАрдВ рднреА рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ ред

рдХреМрди рд╕рд╛ рдЙрдкрдХрд░рдг рдЪреБрдирдирд╛ рд╣реИ?


рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 2018 рдореЗрдВ рдмрд╛рдЬрд╛рд░ рдкрд░ рдХреНрдпрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ?

рдХрдо рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖реА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рд░, рдореИрдВрдиреЗ рдПрдХ рдЖрд╕рд╛рди рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓рд┐рдЦрд╛ рдЬреЛ рдЕрднреА рднреА рдХреБрдЫ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рди рддреЛ рджрд▓рд╛рд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рди рд╣реА рд╕реЗрд▓реЗрд░реА, рди рд╣реА рдЕрдиреНрдп), рдХреЗрд╡рд▓ uwsgi рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░, рдЬрд┐рд╕рдореЗрдВ рд╕реНрдкреВрд▓рд░ рд╣реЛрддрд╛ рд╣реИ, рдПрдХ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬреЛ рдПрдХ рдЕрд▓рдЧ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдЙрдкрд╛рдп рд╣реИ - рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд░рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдерд╛ред

рдХрд┐рд╕реА рддрд░рд╣ рд╣рдордиреЗ рдорд╛рдирд╛:

  • рдЕрдЬрд╡рд╛рдЗрди (рдЧрд┐рдЯрд╣рдм рдкрд░ 10K рд╕рд┐рддрд╛рд░реЗ);
  • рдЖрд░рдХреНрдпреВ (рдЧрд┐рдЯрд╣рдм рдкрд░ 5K рд╕рд┐рддрд╛рд░реЗ);
  • рд╣реНрдпреВрдп (рдЧреАрдерд╣рдм рдкрд░ 2K рд╕рд┐рддрд╛рд░реЗ);
  • рдбреНрд░рд╛рдорд╛рддрд┐рдХ (рдЧреАрдерд╣рдм рдкрд░ 1K рд╕рд┐рддрд╛рд░реЗ);
  • рдЯрд╛рд╕реНрдХрд┐рдЧрд░ (рдЧреАрдерд╣рдм рдкрд░ 0.5K рд╕рд┐рддрд╛рд░реЗ);
  • рд╣рд╡рд╛ рдХрд╛ рдкреНрд░рд╡рд╛рд╣? рд▓реБрдЗрдЧреА?

рд╣реЛрдирд╣рд╛рд░ рдЙрдореНрдореАрджрд╡рд╛рд░ 2018


рдЕрдм рдореИрдВ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди Dramatiq рдХреА рдУрд░ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБред рдпрд╣ рдирд┐рдкреБрдг рд╕реЗрд▓реЗрд░реА рдХрд╛ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рдЬреЛ рдЕрдЬрд╡рд╛рдЗрди рдХреЗ рд╕рднреА рдиреБрдХрд╕рд╛рдиреЛрдВ рдХреЛ рдЬрд╛рдирддрд╛ рдерд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдХреЗрд╡рд▓ рдмрд╣реБрдд рд╣реА рдЦреВрдмрд╕реВрд░рддреА рд╕реЗред Dramatiq рдХреЗ рд▓рд╛рдн:

  • рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯред
  • рдЙрддреНрдкрд╛рджрдХрддрд╛ рдкрд░ рдкреИрдирд╛рдкрдиред
  • рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдХреЗ рд▓рд┐рдП рд╕рдВрддрд░реА рдФрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╕рдорд░реНрдерди рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░
  • рдПрдХ рдЫреЛрдЯрд╛ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЖрдзрд╛рд░, рдХреЛрдб рдСрдЯреЛрд░реЗрд▓реЛрдбред

рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ, Dramatiq рдХреЛ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреА рд╕рдорд╕реНрдпрд╛ рдереА: рдкрд╣рд▓реЗ AGPL рдерд╛, рдлрд┐рд░ рдЗрд╕реЗ LGPL рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ред рд▓реЗрдХрд┐рди рдЕрдм рдЖрдк рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди 2016 рдореЗрдВ, рд╕реЗрд▓реЗрд░реА рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВ рдерд╛ред рд╣рдореЗрдВ рдЗрд╕рдХреА рд╕рдореГрджреНрдз рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкрд╕рдВрдж рдЖрдИ, рдФрд░ рдлрд┐рд░ рдЗрд╕рдиреЗ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдЕрдиреБрдХреВрд▓ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рддрдм рднреА рдпрд╣ рдкрд░рд┐рдкрдХреНрд╡ рдФрд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдерд╛:

  • рд╕рдордп-рд╕рдордп рдкрд░ рдХрд╛рд░реНрдп рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛрддреЗ рдереЗ;
  • рдХрдИ рджрд▓рд╛рд▓реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛;
  • Django рдФрд░ рд╕рдВрддрд░реА рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрддред

рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ


рдореИрдВ рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рд╕рдВрджрд░реНрдн рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛, рддрд╛рдХрд┐ рдЖрдЧреЗ рдХреА рдХрд╣рд╛рдиреА рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПред

рд╣рдо рд░реЗрдбрд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ ред рдореИрдВрдиреЗ рдХрдИ рдХрд╣рд╛рдирд┐рдпрд╛рдВ рдФрд░ рдЕрдлрд╡рд╛рд╣реЗрдВ рд╕реБрдиреА рд╣реИрдВ рдХрд┐ рд░реЗрдбрд┐рд╕ рд╕рдВрджреЗрд╢ рдЦреЛ рд░рд╣рд╛ рд╣реИ, рдХрд┐ рдпрд╣ рдПрдХ рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдирд╣реАрдВ рд╣реИред рдЙрддреНрдкрд╛рджрди рдЕрдиреБрднрд╡ рдкрд░, рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рд░реЗрдбрд┐рд╕ рдЕрдм RabbitMQ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдпрд╣ рд╕реЗрд▓реЗрд░реА рдХреЗ рд╕рд╛рде рд╣реИ, рдХрдо рд╕реЗ рдХрдо, рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╕рдорд╕реНрдпрд╛ рджрд▓рд╛рд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЛрдб рдореЗрдВ рд╣реИ)ред рд╕рдВрд╕реНрдХрд░рдг 4 рдореЗрдВ, рд░реЗрдбрд┐рд╕ рдмреНрд░реЛрдХрд░ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреБрдирд░рд╛рд░рдВрдн рдХреЗ рджреМрд░рд╛рди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЦреЛрдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдХрд╛рдлреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред 2016 рдореЗрдВ, рд╕реЗрд▓реЗрд░реА рдиреЗ рд░реЗрдбрд┐рд╕ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдФрд░ рд░реИрдмрд┐рдЯрдПрдордХреНрдпреВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди, рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдРрд╕рд╛ рдирд╣реАрдВ рд╣реБрдЖред

рд░реЗрдбрд┐рд╕ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдЧрд░ рд╣рдореЗрдВ рдЧрдВрднреАрд░ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдо, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЕрдореЗрдЬрд╝реЕрди рдХреА рд╢рдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЕрдореЗрдЬрд╝реЕрди рдПрд╕рдХреНрдпреВрдПрд╕ рдпрд╛ рдЕрдореЗрдЬрд╝реЕрди рдПрдордХреНрдпреВ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВрдЧреЗред

рд╣рдо рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рдмреИрдХрдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ , рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЙрди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЬрд╛рдВрдЪреЗрдВред рд╣рдо рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рд╕реЗрд▓реЗрд░реА рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░реЗред

рд╣рдо рдПрдХ рдХрдВрдХрдбрд╝ рдкреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдЬреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрдЧрд╛рдорд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рдВрдЯреЗ рдмрдирд╛рддреЗ рд╣реИрдВред

рдХрд╛рдо рдХреА рдЗрдХрд╛рдИ


рд╣рдо рдЙрди рдореВрд▓ рддрддреНрд╡реЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЖрдЬ рддрдХ рд╕реЗрд▓реЗрд░реА рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рд╕реЗрд▓реЗрд░реА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХреА рдЗрдХрд╛рдИ рдПрдХ рдЪреБрдиреМрддреА рд╣реИ ред рдореИрдВ рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдп рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ рдЬреЛ рдПрдХ рдИрдореЗрд▓ рднреЗрдЬрддрд╛ рд╣реИред

рд╕рд░рд▓ рд╕рдорд╛рд░реЛрд╣ рдФрд░ рдбреЗрдХреЛрд░реЗрдЯрд░:

@current_app.task def send_email(email: str): print(f'Sending email to email={email}') 

рдХрд╛рд░реНрдп рд╢реБрд░реВ рдХрд░рдирд╛ рд╕рд░рд▓ рд╣реИ: рдпрд╛ рддреЛ рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рд░реНрдп рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ (send_email (рдИрдореЗрд▓ = "python@example.com")), рдпрд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдореЗрдВ, рдЕрд░реНрдерд╛рдд рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдХрд╛рд░реНрдп рдХрд╛ рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡:

 send_email.delay(email="python@example.com") send_email.apply_async( kwargs={email: "python@example.com"} ) 

рдЙрдЪреНрдЪ рднрд╛рд░ рдХреЗ рддрд╣рдд рд╕реЗрд▓реЗрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рджреЛ рд╕рд╛рд▓ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдЪреНрдЫреЗ рдлреЙрд░реНрдо рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рд╕рд╛рде рдЖрдП рд╣реИрдВред рдмрд╣реБрдд рд╕рд╛рд░реА рд░реЗрдХ рдереАрдВ, рд╣рдордиреЗ рд╕реАрдЦрд╛ рдХрд┐ рдЙрдирдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреИрд╕реЗ рдЬрд╛рдирд╛ рд╣реИ, рдФрд░ рдореИрдВ рдХреИрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░реВрдБрдЧрд╛ред

рдХреЛрдб рдбрд┐рдЬрд╛рдЗрди


рдХрд╛рд░реНрдп рдореЗрдВ рднрд┐рдиреНрди рддрд░реНрдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕реЗрд▓реЗрд░реА рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдпрд╛ рдкреИрдХреЗрдЬ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд░рдЦрдиреЗ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдХрд╣реАрдВ рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИред рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХрд╛ рдвреЗрд░ рдорд┐рд▓рддрд╛ рд╣реИред рд╣рдорд╛рд░реА рд░рд╛рдп рдореЗрдВ, рдЖрд╡реЗрджрди рдХреА рдкреНрд░рддрд┐рд░реВрдкрдХрддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╕рд╣реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛рд░реНрдп рдореЗрдВ рдиреНрдпреВрдирддрдо рддрд░реНрдХ рд░рдЦрдирд╛ рд╣реИред рд╣рдо рдХреЛрдб рдХреЗ "рдЯреНрд░рд┐рдЧрд░" рдХреЗ рд░реВрдк рдореЗрдВ рдХреЗрд╡рд▓ рдкрд╣реЗрд▓рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рдХрд╛рд░реНрдп рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рддрд░реНрдХ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдХреЛрдб рдХреЗ рд▓реЙрдиреНрдЪ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИред

 @celery_app.task(queue='...') def run_regular_update(provider_account_id, *args, **kwargs): """...""" flow = flows.RegularSyncProviderAccountFlow(provider_account_id) return flow.run(*args, **kwargs) 

рд╣рдо рд╕рднреА рдХреЛрдб рдХреЛ рдмрд╛рд╣рд░реА рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдЬреЛ рдХреБрдЫ рдЕрдиреНрдп рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рджреЛ рд▓рд╛рдЗрдиреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд╕рд░рд▓ рд╡рд╕реНрддреБрдУрдВ


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

рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдордиреЗ рд░реЗрдбрд┐рд╕ рдореЗрдВ рдЦрдкрдд рдореЗрдореЛрд░реА рдХрд╛ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдорд┐рд╢реНрд░рдг рджреЗрдЦрд╛ред рд╕рдВрджреЗрд╢ рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рд▓реЗрдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдиреЗрдЯрд╡рд░реНрдХ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд╛рд░реНрдпреЛрдВ (рдкреНрд░рджрд░реНрд╢рди) рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЬрдм рддрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдХрд╛рд░реНрдп рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╣рд▓реЗ рд╣реА рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрд░рдордмрджреНрдз рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ - рдкрд╛рдЗрдерди рдореЗрдВ JSON рдореЗрдВ рд╕рдм рдХреБрдЫ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХреНрд░рдордмрджреНрдз рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рдЙрд╕ рдЕрд╡рд╕рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдЬрдм рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреБрди: рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдХрд┐рд╕реА рддрд░рд╣ рдЬрд▓реНрджреА рд╕реЗ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рдпрд╣ рддрдп рдХрд░реЗрдВ, рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЙрди рдкрд░ рдХреБрдЫ рдЪреЗрдХ рдЪрд▓рд╛рдПрдБ

рдпрджрд┐ рдЖрдк рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рдХреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдлрд┐рд░ рд╕реЗ рд╕реЛрдЪреЗрдВ! рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдереЛрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯреЗ рд╕реНрдХреЗрд▓рд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдФрд░ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рд╕реЗ рдХрд╛рд░реНрдп рдореЗрдВ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЪреАрдЬреЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИред

рдмреЗрд░реЛрдЬрдЧрд╛рд░реА рдХреА рд╕рдорд╕реНрдпрд╛


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

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

рдкрд┐рдЫрдбрд╝реА рдЕрдиреБрдХреВрд▓рддрд╛


рдЬрдм рд╣рдордиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рддреЛ рд╣рдорд╛рд░реЗ рдХреБрдЫ рд░реЛрдЪрдХ рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рдереЗред рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рддреИрдирд╛рддреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рдиреАрд▓рд╛ + рд╣рд░рд╛ рдпрд╛ рд░реЛрд▓рд┐рдВрдЧ рдЕрджреНрдпрддрди), рд╣рдореЗрд╢рд╛ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд╣реЛрдЧреА рдЬрд╣рд╛рдВ рдкреБрд░рд╛рдирд╛ рд╕реЗрд╡рд╛ рдХреЛрдб рдирдП рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╢ рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдкреБрд░рд╛рдиреЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЛ рдирдП рд╕реЗрд╡рд╛ рдХреЛрдб рд╕реЗ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ "рд░реЛрд▓ рдЖрдЙрдЯ" рдХрд░рддрд╛ рд╣реИред рдФрд░ рд╡рд╣рд╛рдБ рдпрд╛рддрд╛рдпрд╛рдд рдЪрд▓рд╛ рдЧрдпрд╛ред

рд╣рдордиреЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдЦреЛрдП рд╣реБрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рддрдм рддрдХ рдкрдХрдбрд╝рд╛ рдЬрдм рддрдХ рд╣рдордиреЗ рд╕реАрдЦрд╛ рдХрд┐ рд░рд┐рд▓реАрдЬ рдХреЗ рдмреАрдЪ рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдХреЛ рдХреИрд╕реЗ рдмрдирд╛рдП рд░рдЦрд╛ рдЬрд╛рдПред рдкрд┐рдЫрдбрд╝реА рдЕрдиреБрдХреВрд▓рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд░рд┐рд▓реАрдЬ рдХреЗ рдмреАрдЪ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЗрд╕ рдХрд╛рд░реНрдп рдореЗрдВ рдХреНрдпрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдЖрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЕрдм рд╣рдо рдПрдХ "рд░рдмрд░" рд╣рд╕реНрддрд╛рдХреНрд╖рд░ (** kwargs) рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдЬрдм рдЖрдкрдХреЛ рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдПрдХ рдирдпрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдирдП рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ ** kwargs рд╕реЗ рд▓реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдкреБрд░рд╛рдиреЗ рдореЗрдВ рдирд╣реАрдВ рд▓реЗрдВрдЧреЗ - рдХреБрдЫ рднреА рдирд╣реАрдВ рдЯреВрдЯреЗрдЧрд╛ред рдЬреИрд╕реЗ рд╣реА рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдмрджрд▓рддреЗ рд╣реИрдВ, рдФрд░ рд╕реЗрд▓реЗрд░реА рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рдпрд╣ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рдореЗрдВ рдРрд╕рд╛ рдХреЛрдИ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рд╣реИред

рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрдиреЗ рдХрд╛ рдПрдХ рдЕрдзрд┐рдХ рдХрдареЛрд░ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рд░рд┐рд▓реАрдЬ рдХреЗ рдмреАрдЪ рдХрд╛рд░реНрдп рдХрддрд╛рд░реЛрдВ рдХреЛ рд╕рдВрд╕реНрдХрд░рдгрдмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдХрд╛рдлреА рдХрдард┐рди рд╣реИ рдФрд░ рд╣рдордиреЗ рдЗрд╕реЗ рдЕрднреА рдХреЗ рд▓рд┐рдП рдмреИрдХрд▓реЙрдЧ рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИред

рд╕рдордп рд╕рдорд╛рдкреНрддрд┐


рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╕рдВрдЦреНрдпрд╛ рдпрд╛ рдЧрд▓рдд рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рдХрд╛рд░рдг рд╕рдорд╕реНрдпрд╛рдПрдВ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдмреБрд░рд╛рдИ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдпрд╣ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рд░реНрдп рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

Affixed рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: soft_limit_timeout рдФрд░ рд╕рдордп рд╕реАрдорд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рд░рд╣реА рд╣реИред

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

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

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

рдиреАрддрд┐ рдлрд┐рд░ рд╕реЗ рд▓реЗрдВ


рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЬреЛ рд╡рд┐рдлрд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдо рд░рд┐рдЯреНрд░реА рдкреЙрд▓рд┐рд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдмрд╛рд╣рд░реА рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рдХрд╛рдмреВ рди рдкрд╛рдПред рдпрджрд┐ рдЖрдк рдПрдХ рдШрд╛рддреАрдп рдмреИрдХрдСрдлрд╝ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдмрд╛рд╣рд░реА рд╕реЗрд╡рд╛, рдпрд╛ рд╢рд╛рдпрдж рдПрдХ рдЖрдВрддрд░рд┐рдХ рдПрдХ, рдмрд╕ рдЗрд╕реЗ рдЦрдбрд╝рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдкреИрд░рд╛рдореАрдЯрд░ retry_backoff , retry_jitter рдФрд░ max_retries рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ max_retriesред retry_jitter - рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛ рдЖрдкрдХреЛ рдереЛрдбрд╝реА рдЕрд░рд╛рдЬрдХрддрд╛ рд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХрд╛рд░реНрдп рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рджреЛрд╣рд░рд╛рдирд╛ рд╢реБрд░реВ рди рдХрд░реЗрдВред

рд╕реНрдореГрддрд┐ рд▓реАрдХ


рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореЗрдореЛрд░реА рд▓реАрдХ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдвреВрдВрдврдирд╛ рдФрд░ рдареАрдХ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкрд╛рдпрдерди рдореЗрдВ рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдмрд╣реБрдд рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рд╣реИред рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдФрд░ рдирд╕реЛрдВ рдХрд╛ рдЦрд░реНрдЪ рд╣реЛрдЧрд╛ рдХрд┐ рд░рд┐рд╕рд╛рд╡ рдХреНрдпреЛрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рднреА рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрд╢рд╛, рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп, рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдкрд░ рдПрдХ рд╕реНрдореГрддрд┐ рд╕реАрдорд╛ рдбрд╛рд▓реЗрдВ: рдХрд╛рд░реНрдпрдХрд░реНрддрд╛_рдореИрдХреНрд╕_рдореЗрдореЛрд░реА_рдкрд░_рдЪрд┐рд▓реНрдб ред

рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ OOM рдХрд┐рд▓рд░ рдПрдХ рджрд┐рди рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ, рд╕рднреА рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рдирд╣реАрдВ рдорд╛рд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдк рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд╣реАрдВ рдЦреЛрддреЗ рд╣реИрдВред рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рд╕реЗрд▓реЗрд░реА рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдЧреАред

рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХрд╛рд░реНрдп


рд╣рдореЗрд╢рд╛ рдРрд╕реЗ рдХрд╛рд░реНрдп рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рд╣рд░ рдХрд┐рд╕реА рд╕реЗ рдкрд╣рд▓реЗ рдкреВрд░реЗ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рдХрд┐рд╕реА рдФрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬреА рд╕реЗ - рдЙрдиреНрд╣реЗрдВ рдЕрднреА рдкреВрд░рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП! рдРрд╕реЗ рдХрд╛рд░реНрдп рд╣реИрдВ рдЬреЛ рдЗрддрдиреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИрдВ - рдЙрдиреНрд╣реЗрдВ рджрд┐рди рдХреЗ рджреМрд░рд╛рди рдкреВрд░рд╛ рдХрд░рдиреЗ рджреЗрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдХрд╛рд░реНрдп рдореЗрдВ рдПрдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ ред рд░реЗрдбрд┐рд╕ рдореЗрдВ, рдпрд╣ рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рдПрдХ рдирдИ рдХрддрд╛рд░ рдПрдХ рдирд╛рдо рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЧрдИ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИред

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

 celery multi start high_priority low_priority -c:high_priority 2 -c:low_priority 6 -Q:high_priority urgent_notifications -Q:low_priority emails,urgent_notifications 

рд╕реЗрд▓реЗрд░реА рдорд▓реНрдЯреА рд╕реНрдЯрд╛рд░реНрдЯ рдПрдХ рд╕рд╣рд╛рдпрдХ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рдорд╢реАрди рдкрд░ рдФрд░ рдПрдХ рд╣реА рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдкреВрд░реЗ рд╕реЗрд▓реЗрд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдиреЛрдбреНрд╕ (рдпрд╛ рд╢реНрд░рдорд┐рдХ) рдмрдирд╛рддреЗ рд╣реИрдВ: high_priority рдФрд░ low_priority, 2 рдФрд░ 6 рд╕рдорд╕рд╛рдордпрд┐рдХ рд╣реИрдВред

рджреЛ рдЙрдЪреНрдЪ_рдкрд░рд╛рдпрдгрддрд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рд▓рдЧрд╛рддрд╛рд░ рдЕрддреНрдпрд╛рд╡рд╢реНрдпрдХрддрд╛ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ рд╣реИрдВред рдЗрди рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рдХреЛрдИ рдФрд░ рдирд╣реАрдВ рд▓реЗрдЧрд╛, рд╡реЗ рдХреЗрд╡рд▓ рдЕрддреНрдпрд╛рд╡рд╢реНрдпрдХрддрд╛рдПрдВ_рдиреЛрдЯрдмрдВрджреА рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрдврд╝реЗрдВрдЧреЗред

рдорд╣рддреНрд╡рд╣реАрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди_ рдкрдВрдХреНрддрд┐рдмрджреНрдзрддрд╛ рдХрддрд╛рд░ рд╣реИред 6 рд╢реНрд░рдорд┐рдХ рд╣реИрдВ рдЬреЛ рдЕрдиреНрдп рд╕рднреА рдХрддрд╛рд░реЛрдВ рд╕реЗ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЕрддреНрдпрд╛рд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди_рдкрд░рд╛рдпрдгрддрд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛рдУрдВ рдХреА рднреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрджрд┐ рдЙрдЪреНрдЪ_рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рд╕рд╛рдордирд╛ рди рдХрд░ рд╕рдХреЗрдВ рддреЛ рд╡реЗ рдорджрдж рдХрд░ рд╕рдХреЗрдВред

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

рдирд┐рдХрд╛рд▓реЗрдВ, рд░реВрдкрд╛рдВрддрд░рдг, рд▓реЛрдб


рдЬреНрдпрд╛рджрд╛рддрд░, рдИрдЯреАрдПрд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдЫрд▓реЗ рдХрд╛рд░реНрдп рд╕реЗ рдЗрдирдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

 @task def download_account_data(account_id) тАж return account_id @task def process_account_data(account_id, processing_type) тАж return account_data @task def store_account_data(account_data) тАж 

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

 chain( download_account_data.s(account_id), process_account_data.s(processing_type='fast'), store_account_data.s() ).delay() 

рдЕрдЬрд╡рд╛рдЗрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд▓реЗ рдЬрд╛рдПрдЧрд╛, рдХреНрд░рдо рдореЗрдВ рдкрд╣рд▓рд╛ рдХрд╛рд░реНрдп рдХрд░реЗрдВ, рдлрд┐рд░ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЛ рджреВрд╕рд░реЗ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ, рдФрд░ рдЙрд╕ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ рдЬреЛ рджреВрд╕рд░рд╛ рдХрд╛рд░реНрдп рддреАрд╕рд░реЗ рдкрд░ рд▓реМрдЯрддрд╛ рд╣реИред рдЗрд╕реА рддрд░рд╣ рд╕реЗ рд╣рдо рд╕рд░рд▓ рдИрдЯреАрдПрд▓ рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред

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

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

рдмреИрдЪ рдХрд╛рд░реНрдп рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг


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

рдЖрдк рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрддреЗ рд╣реИрдВ:

 @task def send_report_emails_to_users(): for user_id in User.get_active_ids(): send_report_email.delay(user_id=user_id) 

рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рди рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреА, рдмрд▓реНрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдкреВрд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рднреА рдзреЛрдирд╛ рд╣реЛрдЧрд╛ред рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЕрдкрдирд╛ рдХрд╛рд░реНрдп рд╣реЛрдЧрд╛ред

рдЗрд╕ рдХрд╛рд░реНрдп рдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ:

  • рдХрд╛рд░реНрдп рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдп (рджреЛ рдорд┐рд▓рд┐рдпрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛) 20 рдорд┐рдирдЯ рдореЗрдВ рд╢реБрд░реВ рд╣реЛрдЧрд╛ рдФрд░ рд╢рд╛рдпрдж рдЗрд╕ рд╕рдордп рддрдХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
  • рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдХреЛ рдкрд╣рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдХрддрд╛рд░ рдореЗрдВ - рд╡рд┐рд▓рдВрдм () 2 рдорд┐рд▓рд┐рдпрди рдХрд╛рд░реНрдп рдХрд░реЗрдЧрд╛ред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдЯрд╛рд╕реНрдХ рдлреНрд▓рдб рдХрд╣рд╛, рдЪрд╛рд░реНрдЯ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред

рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдПрдХ рдкреНрд░рд╡рд╛рд╣ рд╣реИ рдЬреЛ рд╢реНрд░рдорд┐рдХ рдзреАрд░реЗ-рдзреАрд░реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдирд┐рдореНрди рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХрд╛рд░реНрдп рдПрдХ рдорд╛рд╕реНрдЯрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдкреВрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рджрд░рд╛рд░ рдХрд░рдиреЗ рд▓рдЧрддреА рд╣реИ, рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдиреАрдЪреЗ рд╣рдорд╛рд░реЗ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЬрд╣рд╛рдВ DB CPU рдЙрдкрдпреЛрдЧ рдХрдИ рдШрдВрдЯреЛрдВ рдХреЗ рд▓рд┐рдП 100% рдерд╛, рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдбрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗред

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдиреАрдЪрд╛ рд╣реИред рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдп:

  • рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕реНрдореГрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ;
  • рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рджреНрд╡рд╛рд░рд╛ "рдорд╛рд░рд╛" рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЯрд╛рд╕реНрдХ рдХреА рдмрд╛рдврд╝ рдЖрддреА рд╣реИ: рдХрд╛рд░реНрдп рдХрддрд╛рд░ рдореЗрдВ рдЬрдорд╛ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рди рдХреЗрд╡рд▓ рдЖрдВрддрд░рд┐рдХ рд╕реЗрд╡рд╛рдУрдВ рдкрд░, рдмрд▓реНрдХрд┐ рдмрд╛рд╣рд░реА рд▓реЛрдЧреЛрдВ рдкрд░ рднреА рдПрдХ рдмрдбрд╝рд╛ рднрд╛рд░ рдкреИрджрд╛ рдХрд░рддреЗ рд╣реИрдВред

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

рдЯрд╛рд╕реНрдХ рдЬрдирд░реЗрд╢рди


рд╣рдордиреЗ рдЕрд▓рдЧ рд░рд╛рд╕реНрддрд╛ рддрдп рдХрд┐рдпрд╛ред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ, рд╣рдореЗрдВ рдЕрднреА рд╕рднреА 2 рдорд┐рд▓рд┐рдпрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ рдХрд┐ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реВрдЪрдирд╛рдПрдБ рднреЗрдЬрдирд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 4 рдШрдВрдЯреЗ рдЕрдЧрд░ рдпреЗ рдкрддреНрд░ рдЗрддрдиреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИрдВред

рдкрд╣рд▓реЗ рд╣рдордиреЗ Celery.chunks рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:

 send_report_email.chunks( ({'user_id': user.id} for user in User.objects.active()), n=100 ).apply_async() 

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

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

рдпрджрд┐ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рд╢реБрд░реВ рдпрд╛ рд░реЛрдХрддрд╛ рд╣реИ, рддреЛ рдХреБрд▓ rate_limit рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдкрдХреЗ рдХрд╛рд░реНрдп рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЛ рднрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрддрд╛рд░ рдореЗрдВ рд╕рднреА рдкреНрд░реАрдлреИрдЪ рдЗрди рдзреАрдореА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рднрд░рд╛ рдЬрд╛рдПрдЧрд╛ред рд╡рд░реНрдХрд░ рджреЗрдЦрддрд╛ рд╣реИ: тАЬрдУрд╣, рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдХрд╛рд░реНрдп рд░реЗрдЯ_рд▓реАрдорд┐рдЯ рдореЗрдВ рд╣реИ, рдореИрдВ рдЕрдм рдЗрд╕реЗ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдФрд░ рдХрддрд╛рд░ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рднреА рдХрд╛рд░реНрдп рдмрд┐рд▓реНрдХреБрд▓ рд╕рдорд╛рди рд╣реИрдВ - рдЙрдиреНрд╣реЗрдВ рд▓рдЯрдХрд╛ рджреЗрдВ! " - рдФрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ред

Chunkificator


рдЕрдВрдд рдореЗрдВ, рд╣рдордиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рд╣рдо рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рд▓реЗрдЦрди рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдПрдХ рдЫреЛрдЯрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рдпрд╛, рдЬрд┐рд╕реЗ рдЪрдВрдХрд╕рд┐рдкреЗрдЯрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛ред

 @task @chunkify_task(sleep_timeout=...l initial_chunk=...) def send_report_emails_to_users(chunk: Chunk): for user_id in User.get_active_ids(chunk=chunk): send_report_email.delay(user_id=user_id) 

рдпрд╣ sleep_timeout рдФрд░ initial_chunk рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдЦреБрдж рдХреЛ рдПрдХ рдирдпрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдХрд╣рддрд╛ рд╣реИред рдЪрдВрдХ рдкреВрд░реНрдгрд╛рдВрдХ рд╕реВрдЪрд┐рдпреЛрдВ, рдпрд╛ рдУрд╡рд░ рдбреЗрдЯ рдпрд╛ рдбреЗрдЯрд╛рдЗрдо рд╕реВрдЪрд┐рдпреЛрдВ рдкрд░ рдПрдХ рдЕрдореВрд░реНрддрди рд╣реИред рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЪрдВрдХ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ рдЗрд╕ рдЪрдВрдХ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рдЙрд╕ рдЪрдВрдХ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдЪрд▓рд╛рддрд╛ рд╣реИред

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

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

рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ Python 3.6+ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ GitHub рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред рдПрдХ рдЕрддрд┐ рд╕реВрдХреНрд╖реНрдо рдЕрдВрддрд░ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдареАрдХ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдЗрдо-рдЪрдВрдХ рдХреЛ рдЕрдЪрд╛рд░ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдХрдИ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред

рдХреБрдЫ рдЕрд▓рдВрдХрд╛рд░рд┐рдХ рдкреНрд░рд╢реНрди - рдпрд╣ рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рдХрд╣рд╛рдБ рд╕реЗ рдЖрдИ? рд╣рдореЗрдВ рдХреИрд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╣рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ? рдЖрдк рдХреИрд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдЬрд▓реНрдж рд╣реА рдЧрдВрднреАрд░ рд╣реЛ рдЬрд╛рдПрдЧреА рдФрд░ рдЖрдкрдХреЛ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╣реА рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдЬрд╡рд╛рдм, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдирд┐рдЧрд░рд╛рдиреАред

рдирд┐рдЧрд░рд╛рдиреА


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

рдорд╛рдирдХ рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рд╢реНрди:

  • рдХреНрдпрд╛ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ / рд╕рдВрдЧрд╛рдорд┐рддрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд▓реЛрдб рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ?
  • рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреА рдЧрд┐рд░рд╛рд╡рдЯ рдХреНрдпрд╛ рд╣реИ?
  • рдХрд╛рд░реНрдп рдХрд┐рддрдиреЗ рд╕рдордп рддрдХ рд▓рд╛рдЗрди рдореЗрдВ рд▓рдЯрдХрд╛ рд░рд╣рддрд╛ рд╣реИ? рдЕрдЪрд╛рдирдХ рд▓рд╛рдЗрди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рднреАрдбрд╝ рд╣реИ?

рд╣рдордиреЗ рдХрдИ рд╡рд┐рдХрд▓реНрдк рдЖрдЬрдорд╛рдПред Celery рдореЗрдВ рдПрдХ CLI рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ, рдпрд╣ рдХрд╛рдлреА рд╕рдореГрджреНрдз рд╣реИ рдФрд░ рджреЗрддрд╛ рд╣реИ:

  • рдирд┐рд░реАрдХреНрд╖рдг - рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА;
  • рдирд┐рдпрдВрддреНрд░рдг - рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдкреНрд░рдмрдВрдзрди;
  • purge - рд╕реНрдкрд╖реНрдЯ рдХрддрд╛рд░реЛрдВ (рдмрд▓ majeure);
  • рдИрд╡реЗрдВрдЯ - рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпреВрдЖрдИ рдХрдВрд╕реЛрд▓ред

рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рдХрдард┐рди рд╣реИред рдпрд╣ рд╕реНрдерд╛рдиреАрдп рддрд╛рдордЭрд╛рдо рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИ, рдпрд╛ рдпрджрд┐ рдЖрдк рд░рдирдЯрд╛рдЗрдо рдкрд░ рдХреБрдЫ rate_limit рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

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

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

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕реЗрд▓реЗрд░реА рдлреНрд▓рд╛рд╡рд░ рд╕рд┐рд░реНрдл рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ рдХрд┐ рдЫреЛрдЯреЗ рд╕реЗрдЯрдЕрдкреЛрдВ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ HTTP рдПрдкреАрдЖрдИ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдСрдЯреЛрдореЗрд╢рди рд▓рд┐рдЦрддреЗ рд╕рдордп рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред

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

рдЧреНрд░рд╛рдлрд╛рдирд╛ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг



рд╕рднреА рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд░реЛрдХреНрдд рдЖрдВрдХрдбрд╝реЗ: рдХрд┐рди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрд╡рд╛рджред рдиреАрдЪреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред

рд╕реЗрд▓реЗрд░реА рдореЗрдВ рдХреНрдпрд╛ рдЧрд╛рдпрдм рд╣реИ?


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

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

рдирд┐рд╖реНрдХрд░реНрд╖


рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╕реЗрд▓реЗрд░реА рдПрдХ рдврд╛рдВрдЪрд╛ рд╣реИ рдЬреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХрдИ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ 3 рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВ - рд╕реЗрд▓реЗрд░реА, рдХреЛрдореНрдмреВ рдФрд░ рдмрд┐рд▓рд╛рд░реНрдбред рдЗрди рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕рд╣-рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╡реЗ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЛ рддреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕реЗ рдХрд┐рд╕реА рддрд░рд╣ рд╕реБрд▓рдЭрд╛ рд▓рд┐рдпрд╛ рдФрд░ рдЕрдкрдиреА рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рдХ рдмрдирд╛ рджрд┐рдпрд╛ред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдирд┐рд╖реНрдХрд░реНрд╖ рдЗрддрдиреЗ рджреБрдЦреА рдирд╣реАрдВ рд╣реИрдВред рдЕрдЬрд╡рд╛рдЗрди рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдлрд┐рдирдЯреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╣рдорд╛рд░реЗ рд▓реЛрдб рдХреЗ рддрд╣рдд рдЖрддрд╛ рд╣реИред рд╣рдордиреЗ рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЖрдк рд╣рдорд╛рд░реЗ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреА рд╕рднреА рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЛ рднреА рджреВрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдирд┐рдЧрд░рд╛рдиреА рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП ред рдХреЗрд╡рд▓ рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдЧрд▓рдд рдХрд╣рд╛рдВ рд╣реИ, рдХреНрдпрд╛ рддрдп, рдЬреЛрдбрд╝рд╛, рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рдВрдкрд░реНрдХ рд╡рдХреНрддрд╛ рдУрд▓реЗрдЧ рдЪреБрд░рдХрд┐рди : рдмрд╣реВрд╕ , рдлреЗрд╕рдмреБрдХ рдФрд░ рдЧреАрдереВрдм ред

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

рд╣рдорд╛рд░реЗ рдкреЗрд╢реЗрд╡рд░ рдкрд╛рдпрдерди рд╕рдореНрдореЗрд▓рди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ - рдЕрдкрдиреА рд░рд┐рдкреЛрд░реНрдЯ рдпрд╣рд╛рдВ рдЬрдорд╛ рдХрд░реЗрдВ , рдЕрдкрдирд╛ рдЯрд┐рдХрдЯ рдпрд╣рд╛рдВ рдмреБрдХ рдХрд░реЗрдВ ред рдЗрд╕ рдмреАрдЪ, рддреИрдпрд╛рд░реА рдЪрд▓ рд░рд╣реА рд╣реИ, рдореЙрд╕реНрдХреЛ рдкрд╛рдпрдерди рдХреЙрдиреНрдл + ++ 2018 рдХреЗ рд▓реЗрдЦ рдпрд╣рд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗред

Source: https://habr.com/ru/post/hi433476/


All Articles