Celery: рд░реЗрдбрд┐рд╕ рдХреЛ рдмреНрд░реЛрдХрд░ рд╕рдорд░реНрдерди рдХреЗ рд░реВрдк рдореЗрдВ рдкрджрд╛рд╡рдирдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ред [рдЕрд╕реНрд╡реАрдХреГрдд]

рдХреЛ рдирд┐рд░реНрдорд┐рдд 24 рдЬреВрди 2016  ┬╖  54рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: celery/celery

рдпрджрд┐ рд╣рдордиреЗ рд░реЗрдбрд┐рд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ, рддреЛ рд╣рдо рд╕рдордп рдХреЛ рд░реИрдмрд┐рдЯрдПрдордХреНрдпреВ, рдпрд╛ рд╢рд╛рдпрдж рдХрд╛рдлреНрдХрд╛/рдПрдирдПрд╕рдХреНрдпреВ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред
рдкрд╛рдпрдерди 3 рдореЗрдВ рдПрд╕рд┐рдВрдХреНрд╕рд┐рдпреЛ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдХрд╛рдо рднреА рд╣реИред

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

рдЕрдВрдд рдореЗрдВ рдореИрдВ рд╡рд╣реА рдЪреБрдиреВрдВрдЧрд╛ рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ рд╡реИрд╕реЗ рднреА рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдЖрдк рдпрд╣рд╛рдВ рдЕрдкрдиреА рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рдЖрд╡рд╛рдЬ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред

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

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

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

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

@ask рдПрд╕рдХреНрдпреВрдПрд▓ рдмреНрд░реЛрдХрд░ рд╕рдорд░реНрдерди рдЫреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ? рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдРрд╕реЗ рдХрдИ рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдПрд╕рдХреНрдпреВрдПрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЕрдЧрд░ рд╡реЗ рдХрд░рддреЗ рднреА рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ docker рднреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ Rabbitmq рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рд╕рдЪрдореБрдЪ рдПрдХ рдХрдорд╛рдВрдб рджреВрд░ рд╣реИред рдпрд╣ рдЕрдм _рд╡рд╣_ рдХрдард┐рди рдирд╣реАрдВ рд╣реИред

рдореИрдВрдиреЗ рдЕрднреА рдмреНрд░реЛрдХрд░ рдХреЗ рд░реВрдк рдореЗрдВ SQL рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ RabbitMQ/Redis/SQS/Qpid рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рд╕рднреА рдмреНрд░реЛрдХрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ :)

(рдбреБрдкреНрд▓рд┐рдХреЗрдЯ)

рдореИрдВ рдЕрдЬрд╡рд╛рдЗрди рд╕рдореБрджрд╛рдп рдореЗрдВ рдмрдВрдзрд╛ рдирд╣реАрдВ рд╣реВрдБ; рдореЗрд░реА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ $0.02:

  • рд░реЗрдбрд┐рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ - рдЕрдиреНрдп рд╕рднреА рд╕рдорд░реНрдерд┐рдд рджрд▓рд╛рд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдп _combined_ , рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Google рд░реБрдЭрд╛рди рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╣реИ
  • рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдмреНрд░реЛрдХрд░ _and_ рдмреИрдХрдПрдВрдб рдмрдирдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЦрд░рдЧреЛрд╢ рдПрдордХреНрдпреВ рднреА)
  • рдпрд╣ рдмрдбрд╝реЗ рдХреНрд▓рд╛рдЙрдб рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
  • рд╣рдо рд░реЗрдбрд┐рд╕ рдХрд╛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ!

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

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

@MaximilianR рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рд▓рд┐рдП рдмреЛрд▓ рд░рд╣рд╛ рд╣реИ:

  1. рдЗрд╕рдореЗрдВ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рдХреЛрдбрдмреЗрд╕ рд╣реИ
  2. рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк рдХреЛрдореНрдмреВ рдФрд░ рдЕрдпрдиреНрд╕рд┐рдпреЛ рдХреЗ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реИрдВ
  3. рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЧрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдЧрд╣рд░рд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдВрддрд░реНрдЬреНрдЮрд╛рди рдирд╣реАрдВ рд╣реИ

рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдореИрдВ рдЕрдЬрд╡рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдХреЛрдИ рдРрд╕рд╛ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдореИрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

@MaximilianR , рдХрдИ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореИрдВрдиреЗ рдмрд╣реБрдд рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдмрдврд╝реА, рдФрд░ рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдИрдЖрд░рд╕реА/рдИрдореЗрд▓/рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдЗрддреНрдпрд╛рджрд┐ рдкрд░ рдмрдЧ рдлрд┐рдХреНрд╕ рдХрд░рдиреЗ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рд╡рд┐рдХрд▓реНрдк рдерд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд▓реНрдЯреАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкреВрд▓ рдбреЗрдбрд▓реЙрдХ рдореБрджреНрджреЗ рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рдХреЗрдВрджреНрд░рд┐рдд рдХреЛрдбрд┐рдВрдЧ рдХреЗ 6 рдорд╣реАрдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд▓реЗрддреА рдереАрдВ, рдЬрдм рдореБрдЭреЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ рд▓реЛрдЧреЛрдВ рдХрд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░рдирд╛ред рд╣рдо рдЙрд╕ рд╕рдордп рдбрд╛рдЙрдирд▓реЛрдб рдореЗрдВ рд▓рдЧрднрдЧ RabbitMQ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдереЗ, рд▓реЗрдХрд┐рди рдЬрд╣рд╛рдВ рдЙрдирдХреЗ рдкрд╛рд╕ рдкреВрд░реНрдгрдХрд╛рд▓рд┐рдХ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ 8 рд▓реЛрдЧ рдереЗ, рдореИрдВ рдЕрдХреЗрд▓рд╛ рдерд╛ред

рд╢рд╛рдпрдж рдЕрдиреНрдп рдЪреАрдЬреЗрдВ рднреА рд╡рд┐рдЪреНрдЫреЗрджрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд░реЗрдбрд┐рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рднреА рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред

amqp/kombu рдХреЛ рдкреВрд░реНрдг asyncio рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рднреА рдПрдХ рдкреНрд░рдореБрдЦ рд╕рдордп рд╕рд┐рдВрдХ рдерд╛, рд▓реЗрдХрд┐рди рдХрдИ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрднреА рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реБрдЖред

@ask рдХреНрдпрд╛ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЖрдкрдХреЗ рд╕рдВрджреЗрд╢ рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЕрднреА рднреА SQS рдореЗрдВ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ? рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣рд╛рдВ рдХреЗрд╡рд▓ рдПрдХ рдЦреБрд▓рд╛ SQS рдЯрд┐рдХрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрднреА рднреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ "рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ" рдЪреЗрддрд╛рд╡рдиреА рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИред рдХреНрдпрд╛ рдЖрдк рдПрд╕рдХреНрдпреВрдПрд╕ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?

рд╣рдо рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╕реЗрд▓реЗрд░реА + рдПрд╕рдХреНрдпреВрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд╣реАрдВ рдЖрдирд╛ рдЪрд╛рд╣рддрд╛ рдЕрдЧрд░ рдПрд╕рдХреНрдпреВрдПрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рдпреЛрдЬрдирд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИред

@ask рдКрдкрд░ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рд╕рд░рд╛рд╣рдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдХрд╣рд╛рдВ рд╕реЗ рдЖ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ / рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдЬрд╡рд╛рдЗрди рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдФрд░ рдЗрд╕рдХреА рд╕рдлрд▓рддрд╛ рдХреЛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ...

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

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

@nicksloan SQS рдЕрдм рдорд╛рд╕реНрдЯрд░ рдбреЙрдХреНрд╕ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдкрд░рд┐рд╡рд╣рди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рд╣реИ: http://docs.celeryproject.org/en/master/getting-started/brokers/index.html

рдПрд╕рдХреНрдпреВрдПрд╕ рдкрд░рд┐рд╡рд╣рди рдХреЛ рдПрд╕рд┐рдВрдХреНрд╕ I/O рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдХрд╛рдо $1000 рд╕реЗ рдЕрдзрд┐рдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

@scoates рд░реЗрдбрд┐рд╕ рдкрд░рд┐рд╡рд╣рди рдПрдХ рдмрджрддрд░ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП

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

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

@MaximilianR рдореИрдВрдиреЗ рдЗрд╕реЗ рдорд╛рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдЬреБрдиреВрди рд╕рдВрджреЗрд╢ рдкрд╛рд╕ рдХрд░рдиреЗ рдФрд░ рд╕рд╣реА рд╡рд┐рддрд░рд┐рдд рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдиреЗ рдореЗрдВ рд╣реИред рд░реЗрдбрд┐рд╕ рдиреЗ рд╣рдореЗрдВ рдЕрднреА рддрдХ BRPOPLPUSH рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рд╕рдВрджреЗрд╢ рд╕реНрд╡реАрдХреГрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ рдХреЗ рд░рд╣рд╕реНрдпреЛрджреНрдШрд╛рдЯрди рдХреЗ рд╕рд╛рде рдХрд┐ рд╡рд┐рддрд░рд┐рдд рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рджреАрд╡рд╛рд░ рдШрдбрд╝реА рдХреЗ рд╕рдордп рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рддрдереНрдп, рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ рд╕рд╛рд╡рдзрд╛рди рд╣реВрдВред RabbitMQ рдХрдо рд╕реЗ рдХрдо рд╕рдорд╕реНрдпрд╛ рд╕реНрдерд╛рди рдкрд░ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╣рдорд▓рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдХрд╛рдлреНрдХрд╛ рдФрд░ NSQ рдЬреИрд╕реЗ рдЕрдиреНрдп рдЦрд┐рд▓рд╛рдбрд╝реА рднреА рд╣реИрдВред рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛рд░реНрдп рдХрддрд╛рд░реЛрдВ рдХреЛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реВрдЪреА рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рди рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╕реЗрд▓реЗрд░реА рдХреЛ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдмрдирдиреЗ рд╕реЗ рдордирд╛ рдХрд░ рджрд┐рдпрд╛ :)

@scoates : рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдореИрдВ рдХреИрд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдпрд╛ рдХреБрдЫред рдореИрдВ рдХрд╣ рд░рд╣рд╛ рдерд╛ рдХрд┐ 2016 рдореЗрдВ "рдЦрд░рдЧреЛрд╢ рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рдХрдард┐рди рд╣реИ" рдХрд╣рдирд╛ рдмрдХрд╡рд╛рд╕ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдк рдХрд╣реАрдВ рдХреБрдЫ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рднреА docker рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдХреГрдкрдпрд╛, рдЧрд▓рдд рдзрд╛рд░рдгрд╛ рди рдмрдирд╛рдПрдВред

рдзрдиреНрдпрд╡рд╛рдж @ask рд╣рдорд╛рд░реЗ рд╕рд╛рде рдЪреЗрдХ рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЕрдЬрд╡рд╛рдЗрди рдПрдХ рдмреЗрд╣рддрд░реАрди рдЙрддреНрдкрд╛рдж рд╣реИ рдФрд░ рдЖрдкрдХреЗ (рдФрд░ рд╕рдореБрджрд╛рдп) рдХреЗ рд╕реАрдорд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореВрд▓ рдЙрддреНрдкрд╛рдж рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдирд┐рд░реНрдгрдп рд╣реИред рдореИрдВ рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрд╕рдВрдЧрдд рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╣реА рдорд╣рд╛рди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреЗрд╢ рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред рдЙрдкрднреЛрдХреНрддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрд╛рдж рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рд╢рд╛рдпрдж рдЖрдкрдХреЗ рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд░реЗрдЧрд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдо рджрд▓рд╛рд▓реЛрдВ рдХреЗ рд╕рд╛рде рд░рд╣рдирд╛ рдЙрддреНрдкрд╛рдж рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдХрд╛рдо рд╣реИред рдореИрдВ AMQP рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдорд╛рдирдХ, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реНрд╡реАрдХреГрдд рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Rabbitmq рдЗрд╕рдХрд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред

рдпрд╣ рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрддрдирд╛ рд╕рд╛рд░рд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рдЗрд╕реЗ рд╕рднреА рдкрд░рд┐рд╡рд╣рди рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рдШрдВрдЯреЛрдВ рдХреЗ рд╕рд╛рде рдЯрд┐рдХрд╛рдК рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

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

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

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

@ask рдореЗрд░рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЛ рдЕрдкрдиреЗ рджрд▓рд╛рд▓реЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдерд╛ред рддреЛ рдЖрдЗрдП рд░реЗрдбрд┐рд╕ рд▓реИрдм рдХреЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдореЗрдВ рдХреЛрдИ рдХрд░реНрд╖рдг рдорд┐рд▓рддрд╛ рд╣реИред
MongoDB рдФрд░ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рднреА рдпрд╣реА рд╣реИред
рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛSQL рдмреНрд░реЛрдХрд░реЛрдВ рдХрд╛ рд╕рд╡рд╛рд▓ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рд╣рдореЗрдВ рдЙрдирдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╣рдо рдХреЛрдб рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХреА рддрд▓рд╛рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдкрд░реНрдпрд╛рдкреНрдд рд░реБрдЪрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЙрдирдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдПрдХрдорд╛рддреНрд░ SQL рдбреЗрдЯрд╛рдмреЗрд╕ рдЬреЛ рдереЛрдбрд╝реЗ рдмреНрд░реЛрдХрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╡рд╣ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдкрдм/рд╕рдм рдХреНрд╖рдорддрд╛рдПрдВ рд╣реИрдВ рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╡реИрд╕реЗ рднреА рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реИред

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

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

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

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

@dvirsky рдХреА рддрд░рд╣ рд░реЗрдбрд┐рд╕ рд▓реИрдмреНрд╕ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдпреЛрдЬрд┐рдд рд╣реИ, рдФрд░ рдЕрдЧрд░ рд╣рдо рдЗрд╕ рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ (рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рд╛рдБ) рдореИрдВ рд░реЗрдбрд┐рд╕ рдкрдХреНрд╖ рдореЗрдВ рд╕рд░реНрд╡реЛрддреНрддрдо рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдКрдВрдЧрд╛, рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЗрдбрд┐рд╕ рдореИрд╕реЗрдЬрд┐рдВрдЧ рд╕рдорд░реНрдерди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ред рд╣рдо рдПрдЪрдП-рддреИрдпрд╛рд░ рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рд╕реЗрдВрдЯреАрдиреЗрд▓/рд░реЗрдбрд┐рд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдХрдПрдВрдб рдХреА рдХреНрд╖рдорддрд╛ рдкрд░ рднреА рдЬреЛрд░ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ ASAP рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реЛрдЧреА, рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рдпрд╛рд╕ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░ рд░рд╣реА рд╣реИред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реИ! рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд╛рд░реНрдп рдЬрд╛рдирдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ :)

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

рд╕реЗрд▓реЗрд░реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рд░реЗрдбрд┐рд╕ рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп
рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдореИрд╕реЗрдЬрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП AMQP API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдирд╛рдо-рд╕реЗ-рдХрддрд╛рд░ рд╕рдВрджреЗрд╢, рдкрдм/рдЙрдк рдФрд░ рд╡рд┐рд╖рдп рд░реВрдЯрд┐рдВрдЧред рд╡рд┐рд╖рдп рд░реВрдЯрд┐рдВрдЧ рдПрдХ рд╕рдЦреНрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдХреА рд╕реЗрд▓реЗрд░реА рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ 1) рдХрд╛рд░реНрдп рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛, 2) рдирд┐рдЧрд░рд╛рдиреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рднреЗрдЬрдирд╛/рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛, рдФрд░ 3) рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╢ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдирд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╢рдЯрдбрд╛рдЙрди/рд╕рдорд╛рдкрди рдмрдврд╝рд╛рдирд╛/рдЖрджрд┐ред )

1) async рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЛ рдмреНрд▓реЙрдХ рди рдХрд░реЗ

рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рд░реЗрдбрд┐рд╕-рдкреАрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдХ рдХрд┐рдпрд╛ рд╣реИ
рдпрд╣ рдПрдХ рдПрд╕рд┐рдВрдХ рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рд╡рд╣рд╛рдВ рдЕрднреА рднреА рдмрдЧ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА async redis рдХреНрд▓рд╛рдЗрдВрдЯ рдЙрдкрд▓рдмреНрдз рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
рдЯреЙрд░рдиреЗрдбреЛ/рдПрд╕рд┐рдиреНрд╕рд┐рдпреЛ рдЬрд┐рд╕рдХрд╛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдЗрд╕реЗ рдХрдЪреНрдЪрд╛ рдХрд░рдиреЗ рдХреА рдЬреНрдпрд╛рджрд╛ рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ
рдЗрддрдирд╛ рдкреЗрдЪреАрджрд╛ рд╣реЛред

2) рдХрдиреЗрдХреНрд╢рди рдкреНрд░рдмрдВрдзрди

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

3) рд╕рдВрджреЗрд╢ рдкрд╛рд╡рддреА

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

рдзрдиреНрдпрд╡рд╛рдж @ask , рдмрд┐рдВрджреБ "1" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдиреНрдпреВрдирддрдо

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

1) async рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЛ рдмреНрд▓реЙрдХ рди рдХрд░реЗ

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

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

@dvirsky рд╣рдореЗрдВ рдереНрд░реЗрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо fork рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдкрд╛рдпрдерди рдЗрд╕ рдорд╛рдорд▓реЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рднрд▓реЗ рд╣реА cpython рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдЪ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ, рд╣рдореЗрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдкрд╛рдпрдерди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ, рдХрдо рд╕реЗ рдХрдо рд╕реА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдкреИрдЪ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдкрд╛рдпрдерди рдмрдЧ рдЯреНрд░реИрдХрд░ рдкрд░ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ рд╣рдо async I/O рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдореЗрдВ рд╡рд╣рд╛рдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдм рдкрд╛рдЗрдерди рдХреЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреЛрд░ рдПрд╕рд┐рдВрдХ I/O рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╣реИред

@antirez рдкреБрди:

рдмрд┐рдВрджреБ "1" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдиреНрдпреВрдирддрдо рдПрд╕рд┐рдВрдХ рд░реЗрдбрд┐рд╕ рд╕рдорд░реНрдерди рдХреЛ рд╕реАрдзреЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХреБрдЫ рдЖрджреЗрд╢реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рд╣рдо рд╕реАрдзреЗ рдмреНрд░реЛрдХрд░ рдХреЗ рдЕрдВрджрд░ рднреЗрдЬрддреЗ рд╣реИрдВ рдмрдЬрд╛рдп рдмрд╛рд╣рд░реА lib рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред

рдореИрдВ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рд░реЗрдбрд┐рд╕-рдкреАрдИ рдХрд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛрдб рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдФрд░ рдХрдиреЗрдХреНрд╢рди рдкреНрд░рдмрдВрдзрди рдХреЗ рдЗрд░реНрдж-рдЧрд┐рд░реНрдж рдШреВрдорддрд╛ рд╣реИ, рди рдХрд┐ рдЖрджреЗрд╢реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ ...

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

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

рд╡реИрд╕реЗ рднреА рдореБрдЭреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрд╕рд┐рдВрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рдбреЗрдврд╝ рд╕рд╛рд▓реЛрдВ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рдкрд╛рдЗрдерди рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ https://github.com/leporo/tornado-redis рдмрд╣реБрдд рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рд░рд╣рд╛ рд╣реИред

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

рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рдореЗрдВ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ

@dvirsky рдпрджрд┐ рд╣рдо рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╣рд╛рдпрд░рд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ gevent/eventlet (рдЬрдм рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд▓реНрдЯреАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рдмрдЬрд╛рдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реЛрдВрдЧреА рдФрд░ рдпрд╣ рднреА рдЕрдирд┐рд╡рд╛рд░реНрдп рдмрдирд╛ рджреЗрдЧрд╛ рдХрд┐ рдпрджрд┐ рд╕реЗрд▓реЗрд░реА рдХреЛ PyPy рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдХреА рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИред

@dvirsky рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ py-hiredis рдЗрд╕ рд╕рдордп рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

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

рдЖрдк рдЕрднреА рдЧреАрд╡реЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@dvirsky рд╣рдо async I/O рдХреЗ рд╕рд╛рде gevent, Eventlet рдФрд░ рдорд▓реНрдЯреАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ (prefork) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдПрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрдорддреМрд░ рдкрд░ рджреВрд╕рд░реЗ рд╣реЛрддреЗ рд╣реИрдВред

рд╣рд╛рдВ, рдРрд╕реЗ рд╕рдордп рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдЧреАрд╡реЗрдВрдЯ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЬрдм рдХрд╛рд░реНрдп рдХреЗрд╡рд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдпрд╛ HTTP рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВред
FD рдХреЛ gevent рдореЗрдВ рдПрдХреНрд╕рдкреЛрдЬрд╝ рдХрд░рдирд╛ рдФрд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП py-hiredis рдореЗрдВ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

@dvirsky рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ PyCurl рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред https://gist.github.com/GuoJing/5875326
gevent рдХреЗ рд╕рд╛рде рд╕рд╣рдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ FD рдХреЛ рдмреЗрдирдХрд╛рдм рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

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

рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЗ рдЦрд┐рд▓рд╛рдл - рдпрд╛ рдорд╛рдорд▓реЛрдВ рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдзреНрдпрд╛рди рджреВрдВрдЧрд╛ рдХрд┐ рд░реЗрдбрд┐рд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рд╕реЗ, рдбреЗрд╡рд▓рдкрд░ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ libuv рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреЗ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЕрдзрд┐рдХрддрдо рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХреЗрдЧрд╛, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рд░рд╛рдП рдкрд░ рд▓реЗрдирд╛ рдЬрд░реВрд░реА рд╣реИред libuv рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░рд╛ рд╕рд╛рдорд╛рди рдЕрдВрдбрд░-рдж-рд╣реВрдб рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ io рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИ, ioredis рдЗрд╕реЗ Node рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИред

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

@ рдореЗрд░реНрд▓-рджреЗрд╡ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рдкреАрдкреАрдкреА рд╣реИ рдЬрд╣рд╛рдВ рд╢реБрджреНрдз рдкрд╛рдпрдерди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд╛рд░реНрд╕рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд░реЗрдбрд┐рд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдореЗрдВ рд╣рд╛рдпрд░рд░рд┐рд╕ + рд╕реАрдПрдлрдЖрдИ рдзреАрдорд╛ рд╣реИред
рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд░реЗрдбрд┐рд╕-рдкреАрдИ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓рддрд╛рдПрдВ рднреА рд╣реИрдВред рджреЗрдЦреЗрдВ https://github.com/redis/hiredis-py/pull/46

CPython рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдХрд┐рд░рд╛рдП рдХреЗ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд▓рд┐рдЦрдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реИред рдореИрдВ рдЕрднреА рднреА CFFI рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ 100% рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдБред

рдЪрд▓реЛ рдЗрд╕реЗ рд╣рд╛рд╕рд┐рд▓ рдХрд░рддреЗ рд╣реИ

@thedrow рдпрд╣ рдореБрдЭреЗ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИ - рдХреНрдпрд╛ рдЖрдкрдиреЗ рдирдИ рд░реЗрдбрд┐рд╕ рд╕реНрдЯреНрд░реАрдо рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рджреЗрдЦрд╛ рд╣реИ? рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд░реНрддрдорд╛рди рд╕рд╛рдордЧреНрд░реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдордЬрдмреВрдд рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЬрд▓реНрдж GA рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рд╣рдордиреЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рд╕рдордп рд░реЗрдбрд┐рд╕ рдмреНрд░реЛрдХрд░ рдХреЛ рд░рд┐рдлрд▓реЗрдХреНрдЯрд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рд╣реИред
рд╣рдо рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реЗ рдереЗ рдХрд┐ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣рд╛рде рд╣реЛрдВрдЧреЗред

@thedrow рд╣рдо рдмрд╕ рдХреБрдЫ рднреА рд╡рд╛рджрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╣рдо рд░реЗрдбрд┐рд╕ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХ рддрдВрддреНрд░ рдХреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рд╕рдВрд╕рд╛рдзрди рд╕рдорд░реНрдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@dvirsky рдЖрдкрдХрд╛ рдорддрд▓рдм рдпрд╣ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ , рд╣реИ рдирд╛? рддреЛ рдЖрдк TAPPEND рдХреЛ рдПрдирдХреНрдпреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, TREAD + TACK рдХреЛ рдбрд┐рдХреНрдпреВ рдХрд░рдиреЗ, рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдФрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@georgepsarakis рдпрд╣ рдЕрдм рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЙрдкрд╕рд░реНрдЧ X рд╣реИ, рдпрд╛рдиреА XADDред рджреЗрдЦреЗрдВ https://www.youtube.com/watch?v=ELDzy9lCFHQ

рддреЛ рд░реЗрдбрд┐рд╕ рдмреНрд░реЛрдХрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдкрд░ рдЕрдВрддрд┐рдо рдХреЙрд▓ рдХреНрдпрд╛ рд╣реИ? рдХреНрдпрд╛ рдЬрд▓реНрдж рд╣реА рдХрд┐рд╕реА рднреА рд╕рдордп рдмрд╣рд┐рд╖реНрдХреГрдд рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ?

рдЗрд╕ рд╕рдордп рдирд╣реАрдВред

рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛ рдХрд┐ рд╕рдореБрджрд╛рдп рдХрд┐рд╕ рддрд░рдл рдЭреБрдХ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдХрд╛рд░рдг рдмреНрд░реЛрдХрд░ рдХреЗ рд░реВрдк рдореЗрдВ w/Redis рдЬрд╛рдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╡рд┐рдЪрд╛рд░?

рдпрд╣ рдорд╛рди рд▓реЗрдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ рдХрд┐ рд░реЗрдбрд┐рд╕ рдмреНрд░реЛрдХрд░ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдмрдиреЗ рд░рд╣реЗрдВрдЧреЗред рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЗрд╕ рдкрд░ рд░рд┐рд▓реЗ рдХрд░рддреЗ рд╣реИрдВред

рд╣рд░ рд╕рдордп #301 / 601 рдмрд╛рд╕реА рд╣реЛрддреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред

@ermik рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЗ рдкрд░ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

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

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

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

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

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

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

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