Celery: рдХреНрдпрд╛ рдорд╛рдирдЪрд┐рддреНрд░ рдФрд░ рд╕реНрдЯрд╛рд░рдореИрдк рдХрд╛ рдирд╛рдо рдмрджрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 24 рдлрд╝рд░ре░ 2014  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: celery/celery

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпреЗ 2 рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рд╡рд┐рддрд░рд┐рдд рдХрд╛рд░реНрдп рдХрддрд╛рд░" рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдЗрд╕ рдХрд╛рд░рдг рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдорд╛рдирдЪрд┐рддреНрд░ рдФрд░ рд╕реНрдЯрд╛рд░рдореИрдк рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреНрдпреЛрдВ рдЪрд╛рд╣рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдПрдХ рд╣реА рдХрд╛рд░реНрдп рдмрдирд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдирдХрд╛ рд▓рд╛рдн рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдХреА рд╕реВрдЪреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдирд╛ рдЫреЛрдЯрд╛ рд╣реЛрдЧрд╛ . рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣рд╛рдВ "рдорд╛рдирдЪрд┐рддреНрд░" рд╢рдмреНрдж рдХрд╛ рддрд╛рддреНрдкрд░реНрдп рдорд╛рдирдЪрд┐рддреНрд░-рдХрдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рддрд░рд╣ рдХреБрдЫ рд╣реИ рдЬреЛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд╣реИред рдПрдХ рд░рд╛рдЧ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдорд╛рдирдЪрд┐рддреНрд░-рдХрдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд░реВрдк рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд┐рд░реНрдл рдирд╛рдордХрд░рдг рдХреЛ рдЪрдХрдорд╛ рджреЗрддрд╛ рд╣реИред

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

http://docs.python.org/2/library/multiprocessing.html#using -a-pool-of-workers

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

group рд╡рд┐рддрд░рд┐рдд рдорд╛рдирдЪрд┐рддреНрд░ рдлрд╝рдВрдХреНрд╢рди рд╣реИред

Google рджреНрд╡рд╛рд░рд╛ MapReduce рдкреЗрдкрд░ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдорд╛рдирдЪрд┐рддреНрд░ рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣реИрдХреЗрд▓ рдпрд╛ рдХреНрд▓реЛрдЬрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдХреЛрдИ рднреА рдЗрд╕ рд╢рдмреНрдж рд╕реЗ рднреНрд░рдорд┐рдд рд╣реЛрддрд╛ рд╣реИред рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ 'рдорд╛рдирдЪрд┐рддреНрд░' рд╢рдмреНрдж рдХреЗ рд╕рд╛рде рд╡реНрдпрдХреНрдд рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХреЛрдИ рдкреНрд░рд╛рдХреГрддрд┐рдХ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред

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

MapReduce рдЪреМрдЦрдЯреЗ рднреА рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЪрд░рдгреЛрдВ рдХреЛ рдХрдо рдХрд░реЗрдВрдЧреЗ
рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдореИрдкреНрд░рд┐рдбрд╕ рдСрдкрд░реЗрд╢рди рд╣реИ рдЬреЛ рдореИрдкрд░ рдФрд░ рд░реЗрдбреНрдпреВрд╕рд░ рд▓реЗрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдбреЗрдЯрд╛ рдХреЛ рд░реЗрдбреНрдпреВрд╕рд░ рдореЗрдВ рд╕реНрдЯреНрд░реАрдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЗрд╡рд▓ рдирдХреНрд╢рд╛ () рдФрд░ рдХрдо () рдХреЛ MapReduce рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

рддреЛ рдПрдХ chord рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирдХреНрд╢рд╛-рдХрдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд░реВрдк рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рдмрд╛рдзрд╛ рдХрд╛ рд╡рд┐рддрд░рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдФрд░ рдирд╛рдо
C╧Й рдореЗрдВ рдРрд╕реЗ рдЕрд╡рд░реЛрдз рд╕реЗ рд╕реАрдзреЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

group рдХрд╣реАрдВ рд╕реЗ рднреА рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдСрдкрд░реЗрд╢рди рд╡рд╣реА рд╣реИ
рдЬреИрд╕рд╛ рдХрд┐ рд╕рдорд╡рд░реНрддреА рд╕рд╛рд╣рд┐рддреНрдп рдореЗрдВ рдЕрдХреНрд╕рд░ 'рд╕рдорд╛рдирд╛рдВрддрд░ рдорд╛рдирдЪрд┐рддреНрд░' рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рд╡рд┐рддрд░рд┐рдд рд░реВрдк рдореЗрдВред
рдЗрд╕рд▓рд┐рдП, map рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рдорд╛рдирд╛рдВрддрд░ рдирд╣реАрдВ

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

group рд╡рд┐рддрд░рд┐рдд рдорд╛рдирдЪрд┐рддреНрд░ рдлрд╝рдВрдХреНрд╢рди рд╣реИред

Google рджреНрд╡рд╛рд░рд╛ MapReduce рдкреЗрдкрд░ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдорд╛рдирдЪрд┐рддреНрд░ рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣реИрдХреЗрд▓ рдпрд╛ рдХреНрд▓реЛрдЬрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдХреЛрдИ рднреА рдЗрд╕ рд╢рдмреНрдж рд╕реЗ рднреНрд░рдорд┐рдд рд╣реЛрддрд╛ рд╣реИред рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ 'рдорд╛рдирдЪрд┐рддреНрд░' рд╢рдмреНрдж рдХреЗ рд╕рд╛рде рд╡реНрдпрдХреНрдд рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХреЛрдИ рдкреНрд░рд╛рдХреГрддрд┐рдХ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред

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

MapReduce рдЪреМрдЦрдЯреЗ рднреА рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЪрд░рдгреЛрдВ рдХреЛ рдХрдо рдХрд░реЗрдВрдЧреЗ
рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдореИрдкреНрд░рд┐рдбрд╕ рдСрдкрд░реЗрд╢рди рд╣реИ рдЬреЛ рдореИрдкрд░ рдФрд░ рд░реЗрдбреНрдпреВрд╕рд░ рд▓реЗрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдбреЗрдЯрд╛ рдХреЛ рд░реЗрдбреНрдпреВрд╕рд░ рдореЗрдВ рд╕реНрдЯреНрд░реАрдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЗрд╡рд▓ рдирдХреНрд╢рд╛ () рдФрд░ рдХрдо () рдХреЛ MapReduce рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

рддреЛ рдПрдХ chord рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирдХреНрд╢рд╛-рдХрдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд░реВрдк рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рдмрд╛рдзрд╛ рдХрд╛ рд╡рд┐рддрд░рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдФрд░ рдирд╛рдо
C╧Й рдореЗрдВ рдРрд╕реЗ рдЕрд╡рд░реЛрдз рд╕реЗ рд╕реАрдзреЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

group рдХрд╣реАрдВ рд╕реЗ рднреА рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдСрдкрд░реЗрд╢рди рд╡рд╣реА рд╣реИ
рдЬреИрд╕рд╛ рдХрд┐ рд╕рдорд╡рд░реНрддреА рд╕рд╛рд╣рд┐рддреНрдп рдореЗрдВ рдЕрдХреНрд╕рд░ 'рд╕рдорд╛рдирд╛рдВрддрд░ рдорд╛рдирдЪрд┐рддреНрд░' рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рд╡рд┐рддрд░рд┐рдд рд░реВрдк рдореЗрдВред
рдЗрд╕рд▓рд┐рдП, map рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рдорд╛рдирд╛рдВрддрд░ рдирд╣реАрдВ

рдФрд░ рд╡реЗ рдЙрдкрдпреЛрдЧреА рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ $#$ group(task.s(i) for i in list) $#$ рдХреЗ рдмрдЬрд╛рдп task.map(list) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдСрдкрд░реЗрд╢рди рдХреА рдЧреНрд░реИрдиреНрдпреБрд▓реИрд░рд┐рдЯреА рдХреЛ рдХрдо рдХрд░рдиреЗ рджреЗрддреЗ рд╣реИрдВ

рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ task.map(list) рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдорд╡рд░реНрддреА рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рд╕рднреА рдХрд╛рд░реНрдп рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХ рдПрдХ рд╣реА рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдЕрдЧрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддреЛ рдореИрдВ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓ рд╕рдХрддрд╛ рд╣реВрдВред

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

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

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

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

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

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

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