Celery: ์…€๋Ÿฌ๋ฆฌ ๋ฐฉ์ถœ ์ฃผ๊ธฐ

์— ๋งŒ๋“  2018๋…„ 08์›” 06์ผ  ยท  32์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: celery/celery

Celery ๋Œ€ํ•œ ํ•ฉ๋ฆฌ์ ์ธ _๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ_๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
๋ฌด์–ธ๊ฐ€๊ฐ€ ๊นจ์ง€๋ฉด ์‹ค์ œ๋กœ master ๊ณ ์ •๋˜์–ด ์žˆ์–ด๋„ ์•ˆ์ • ๋ฒ„์ „์—์„œ ์•„์ฃผ ์˜ค๋žซ๋™์•ˆ ๊นจ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์žฌํ˜„ ๋‹จ๊ณ„

  • ์ผ๋ถ€ Celery ๋ฒ„๊ทธ ์ˆ˜์ •
  • ์ˆ˜์ • ์‚ฌํ•ญ์„ master ๋ถ„๊ธฐ์— ๋ณ‘ํ•ฉ
  • GitHub ์— ๋Œ€ํ•œ ๋ฌธ์ œ ์ข…๋ฃŒ

์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™

๋ฌธ์ œ๊ฐ€ ์ข…๋ฃŒ๋˜๊ณ  ์ˆ˜์ •๋œ ๋ฒ„์ „์ด ๋ฆด๋ฆฌ์Šค๋ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ํ–‰๋™

๋ฌธ์ œ๊ฐ€ ์ข…๋ฃŒ๋˜์—ˆ์œผ๋ฉฐ ์ˆ˜์ •๋œ ๋ฒ„์ „์€ ์—ฐ๋ น์— ๋”ฐ๋ผ ์ถœ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์‚ฌ๋žŒ๋“ค์€ ๊ทธ ๋ฒ„๊ทธ๋ฅผ ๋‹ค์‹œ ๊ฒฝํ—˜ํ•˜๊ณ  ํ˜ผ๋ž€์Šค๋Ÿฌ์›Œํ•˜๋ฉฐ ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ •๋˜์ง€ ์•Š์•˜๋‹ค๊ณ  ๋‹ซํžŒ ๋ฌธ์ œ์— ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ

  • #2649
  • #4500
Project Governance Major

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ๋Š” Python 3.7 ์ง€์›์„ ์œ„ํ•œ ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๋ฅผ ๋„์šธ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”.

๋ชจ๋“  32 ๋Œ“๊ธ€

์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ๋Š” Python 3.7 ์ง€์›์„ ์œ„ํ•œ ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๋ฅผ ๋„์šธ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”.

์…€๋Ÿฌ๋ฆฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ํ›„์›์ž๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ์„ธ์š”. ์ด๊ฒƒ์€ ์ด ๊ฑฐ๋Œ€ํ•œ ํ”„๋กœ์ ํŠธ์— ์ƒ๋‹นํ•œ ์‹œ๊ฐ„์„ ํ• ์• ํ•˜๋Š” ๋ฐ ๊ฐ€์žฅ ํ•„์š”ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@auvipy ๋Š” "์Šคํฐ์„œ"๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค :) ๋ˆ, ์‹œ๊ฐ„? ์…€๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋งŽ์€ ๋น… ํ”Œ๋ ˆ์ด์–ด.

ํ•œ ๊ฐ€์ง€ ๊ฐ€๋Šฅํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋งˆ์Šคํ„ฐ์˜ ๋ชจ๋“  ๊ฒƒ์ด ๋ฐฐ์†ก๋˜๋Š” ์‹œ๊ฐ„ ๊ธฐ๋ฐ˜ ๋ฆด๋ฆฌ์Šค์ž…๋‹ˆ๋‹ค(ํ•œ ๋‹ฌ์— ํ•œ ๋ฒˆ?). ์ฃผ์š” ๋ฒ„๊ทธ ์ˆ˜์ • ๋˜๋Š” ๋ณด์•ˆ ์ˆ˜์ •์€ ์ฆ‰์‹œ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๋” ๋น ๋ฅธ ๋ฆด๋ฆฌ์Šค๋กœ ์‚ฌ์šฉ์ž ๊ธฐ๋ฐ˜๊ณผ ํ•จ๊ป˜ ๊ธด๋ฐ€ํ•œ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์€ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๋ณ€๋™์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”์— ๋”ฐ๋ผ ํ”„๋กœ์ ํŠธ์— ๋ฒ„์ „์„ ๊ณ ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ํšŒ์‚ฌ์—์„œ ํ•„์š”๋กœ ํ•˜๋Š” ๊ฐœ์„  ์‚ฌํ•ญ์„ ์ˆ˜์ •ํ•˜๊ณ  ๋งˆ์ผ์Šคํ†ค ๋ฆด๋ฆฌ์Šค๋ฅผ ์ถœ์‹œํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค...

@robertknight ์ด์Šˆ ์•„๋ž˜์—์„œ ๋งˆ์ผ์Šคํ†ค์„ ํด๋ฆญํ•˜๊ณ  ๋‹ค์Œ ๋งˆ์ผ์Šคํ†ค์„ ์„ ํƒํ•˜๊ณ  ๋ฏธํ•ด๊ฒฐ ์ด์Šˆ๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ˆ˜์ • ์‚ฌํ•ญ, ๋ฌธ์„œ ๋ฌธ์ œ ๋“ฑ์ด ์—†๋Š” 12๊ฐœ ์ •๋„์˜ ๋ณด๊ณ ๋œ ๋ฒ„๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

python 3.7๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์ด ์ข‹๊ฒ ์ง€๋งŒ ํฌ๊ฒŒ ์„œ๋‘๋ฅด์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๋ฆด๋ฆฌ์Šค 4.3์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ๋‹ต๋ณ€์„ ์ฐพ๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ฌด๊ฒƒ๋„. ์ž๊ธˆ ๋ถ€์กฑ์ด ๊ทธ๋Ÿฐ ํฐ ํ”„๋กœ์ ํŠธ์˜ ๋ฌธ์ œ๋ผ๋Š” ๊ฒƒ์„ ์ดํ•ดํ•˜๊ณ  ์ดํ•ดํ•˜์ง€๋งŒ, ์…€๋Ÿฌ๋ฆฌ์˜ ์žฅ๋‹จ๊ธฐ ๊ณ„ํš์ธ ๋ชจ๋‘์—๊ฒŒ ํˆฌ๋ช…ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์Šค์Šค๋กœ๋ฅผ ๋Œ€๋ณ€ํ•˜๋Š” ๊ฒƒ์€ ์—†์œผ๋ฉฐ ๋‚˜๋Š” ๊ดœ์ฐฎ์ง€๋งŒ ํ”„๋กœ์ ํŠธ๊ฐ€ ์–ด๋””๋กœ ๊ฐ€๊ณ  ์žˆ๋Š”์ง€ ์•„๋Š” ๊ฒƒ์ด ๋” ํŽธ์•ˆํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฉ”์ธ ํ”„๋กœ์ ํŠธ๋Š” ์ •๋ง ๋ณต์žกํ•˜๊ณ  ์œ ์ง€ํ•ด์•ผ ํ•  ๊ฒƒ๋“ค์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ํ•ต์‹ฌ ์‚ฌ๋žŒ๋“ค์ด ์ƒ๋Ÿฌ๋ฆฌ์˜ ๋ฏธ๋ž˜๋ฅผ ์–ด๋–ป๊ฒŒ ๋ณด๋‚˜์š”? ๊ฐœ์ธ์ ์œผ๋กœ ๋‚˜๋Š” ํŒŒ์ด์ฌ ์„ธ๊ณ„๊ฐ€ ๋น ๋ฅด๊ฒŒ ๋ณ€ํ™”ํ•˜๊ณ  ์ง„ํ™”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์ ํŠธ์— ๋ˆ์„ ํˆฌ์žํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ ์–ด๋„ ๋ช‡ ๊ฐ€์ง€๋Š” ๋‹ค์‹œ ๋ฐฉ๋ฌธํ•˜๊ณ  ์ „๋žต์„ ์„ธ์›Œ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ท€ํ•˜์˜ ์˜๊ฒฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ๊ณต๊ฐœ๋œ ๋ฌธ์ œ ์™ธ์—๋„ ์…€๋Ÿฌ๋ฆฌ์˜ ๋ฏธ๋ž˜์— ๋Œ€ํ•œ ๋‚ด ๊ณ„ํš์— ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ์‚ฌํ•ญ์ด ๋” ์žˆ์Šต๋‹ˆ๋‹ค.

  1. 10์›”๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ celery 4.3์„ ์ถœ์‹œํ•˜์‹ญ์‹œ์˜ค.
  2. ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์—์„œ python 2๋ฅผ ์‚ญ์ œํ•˜๊ณ  2019๋…„ ๋ง๊นŒ์ง€๋งŒ ๋ฒ„๊ทธ ์ˆ˜์ •์ด ์žˆ๋Š” celery 4.x ๋ธŒ๋žœ์น˜๋ฅผ LTS๋กœ ๋งŒ๋“œ์„ธ์š”.
  3. asyncio๋ฅผ ์ˆ˜์šฉํ•˜๊ณ  ๊ฐ€๋Šฅํ•œ ํ•œ ์—์ฝ” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ๋Œ€๋Œ€์ ์ธ ์ ๊ฒ€์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  4. ๋‹น๊ตฌ์— ๋Œ€ํ•œ ๋น„๋™๊ธฐ ๊ธฐ๋ฐ˜ ๋Œ€์•ˆ์„ ์ฐพ๊ฑฐ๋‚˜ ๋‹น๊ตฌ๋ฅผ ๋น„๋™๊ธฐ ์นœํ™”์ ์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋‹น๊ตฌ๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. [์ž…๋ ฅ ์›ํ•จ]
  5. ๋ถ„์‚ฐ ์…€๋Ÿฌ๋ฆฌ ๋น„ํŠธ์— ๋Œ€ํ•ด redbeat์™€ ๊ฐ™์€ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  6. Kafka ์ง€์› ๋ฐ ๊ด€๋ จ ์ ๊ฒ€.
  7. ์†์„ฑ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ๋ฅผ ์ ์ง„์ ์œผ๋กœ ์ˆ˜์šฉํ•˜๊ณ  ํ…Œ์ŠคํŠธ ๋ฒ”์œ„๋ฅผ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค.
  8. ๋ฌธ์„œ๋ฅผ ๊ฐœ์„ ํ•˜๊ณ  ์—ด๋ฆฐ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.
  9. ๋‹ค๋ฅธ ์‚ฌ๋žŒ์„ ์ถ”๊ฐ€ ......

์ด๊ฒƒ์ด ์ œ ์šฐ์„  ์ˆœ์œ„์ด๋ฉฐ ์ฒ˜์Œ 8๊ฐœ๋ฅผ ์œ„ํ•ด ์ž‘์—…์„ ์‹œ์ž‘ํ•  ๊ฒƒ์ด๋ฉฐ ์•„๋งˆ๋„ ๋” ๋งŽ์€ ํŒ€ ๊ตฌ์„ฑ์›๊ณผ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ตฌ์„ฑ์›์ด ๊ธฐ๋Šฅ ์š”์ฒญ ๋ฐ ์Šค์ฟผ์‹œ ์˜คํ”ˆ ๋ฒ„๊ทธ ๊ตฌํ˜„์— ๊ธฐ์—ฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์šฐ๋ฆฌ๋Š” ๋˜ํ•œ ๊ณ„ํš์— ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์ด ์žˆ์ง€๋งŒ ํ˜„์žฌ๋กœ์„œ๋Š” ์ด๊ฒƒ์ด ์ตœ์†Œํ•œ์˜ ์šฐ์„  ์ˆœ์œ„์ž…๋‹ˆ๋‹ค.

์ž์œ ๋กญ๊ฒŒ ์˜๊ฒฌ์„ ๊ณต์œ ํ•˜์„ธ์š”.

์‚ฌ๋žŒ๋“ค์ด ๊ณ„ํš์„ ์‰ฝ๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ๋ฌธ์„œ ์–ด๋”˜๊ฐ€์— ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ œ๋ฅผ ๋‚˜์—ดํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๊นŒ?
๋‚˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ๊ฐ€์ง€๊ณ ์žˆ๋Š” 5 ๋ฒˆ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค : https://github.com/celery/celery/issues/4815
๋‚˜๋จธ์ง€๋Š” ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋กœ๋“œ๋งต ์„น์…˜์„ ๋งŒ๋“ค๊ณ  ์•ฝ๊ฐ„์˜ ์„ค๋ช…์œผ๋กœ ๊ด€๋ จ ๋ฌธ์ œ๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? readme ๋ฐ ๋ฌธ์„œ์— ๋กœ๋“œ๋งต์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋” ์ž˜ ๋ณด์ด๋„๋ก ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

์ข‹์€ ์ƒ๊ฐ ๊ฐ™์•„

๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ์™€ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๋Š” ๊ฒƒ์ด ์—ฌ์ „ํžˆ ์˜๋ฏธ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋ฏธ๋ž˜ ๋กœ๋“œ๋งต๊ณผ ์ถœ์‹œ ์ฃผ๊ธฐ๊ฐ€ ๋Š์Šจํ•˜๊ฒŒ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ๋Š” ์ •๊ธฐ์ ์œผ๋กœ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•˜๋Š” ๋ฐ˜๋ฉด ๋กœ๋“œ๋งต์€ ๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ์— ๋Œ€ํ•œ ํ–ฅํ›„ ์ž‘์—…์„ ๋งคํ•‘ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ์ž๊ธˆ(๋ˆ ๋˜๋Š” ์‹œ๊ฐ„)์€ ๋กœ๋“œ๋งต์„ "์••์ถ•"ํ•ฉ๋‹ˆ๋‹ค.

์œ„ํ‚ค๊ฐ€ ์ œ์•ˆ๋œ ๋กœ๋“œ๋งต์œผ๋กœ ์—…๋ฐ์ดํŠธ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค(์ฝ๊ธฐ ์ •๋ณด๋ฅผ ์–ด์ง€๋Ÿฝํžˆ๋Š” ๋Œ€์‹ ). ๊ทธ๋Ÿฐ ๋‹ค์Œ GitHub ๋ฌธ์ œ์˜ ์ด์ •ํ‘œ๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ด๋ฏธ ํ‹ฐ์ผ“์ด ์žˆ๋Š” ๋“ฑ์ด ๋ช…ํ™•ํ•ฉ๋‹ˆ๋‹ค.

์ œ ์ƒ๊ฐ์—๋„ Wiki๋Š” ๋กœ๋“œ๋งต์„ ๋ฌธ์„œํ™”ํ•˜๊ธฐ์— ์ข‹์€ ์žฅ์†Œ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ํ•ญ๋ชฉ๋„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
redis ์ž‘์—… ๋Œ€๊ธฐ์—ด์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

์™œ ์•ˆ ๋ผ? ๊ทธ๋“ค์€ ์ด๋ฏธ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

@xirdneh ๋ฌด์Šจ

๋‹ต์žฅ์„ ๋Šฆ๊ฒŒ ๋ณด๋‚ด์„œ ๋ฏธ์•ˆํ•ด. ์–ด์ฉŒ๋ฉด ๋‚˜๋Š” ์ด๊ฒƒ์— ๋Œ€ํ•ด ์•ฝ๊ฐ„ ํ˜ผ๋ž€์Šค๋Ÿฌ์›Œํ•ฉ๋‹ˆ๋‹ค.
๋‚˜๋Š” ์…€๋Ÿฌ๋ฆฌ๊ฐ€ redis์˜ pub/sub๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์ด๋Š” ๊ตฌ๋…์ž๊ฐ€ ์˜ค๋Š” ์ฆ‰์‹œ ๋ฉ”์‹œ์ง€๊ฐ€ ๊ตฌ๋…์ž์—๊ฒŒ ์ „๋‹ฌ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ redis์—์„œ FIFO ๋Œ€๊ธฐ์—ด์„ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€๊ธฐ์—ด์ฒ˜๋Ÿผ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๊ณ  ์…€๋Ÿฌ๋ฆฌ ๋น„ํŠธ์— ์ „๋ ฅ์„ ๊ณต๊ธ‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์€ ์ด๋ฏธ #4815์— ์–ธ๊ธ‰๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
@auvipy @thedrow ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. :)

์ข‹์•„, ๋‚ด ์ƒ๊ฐ์ด ํ‹€๋ ธ๊ณ  Kombu๋Š” LPUSH์™€ LPOP์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹ค๋ฅธ ๊ฒƒ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜๊ณ  ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์ง€๋งŒ ๋‹ค์‹œ ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋˜๋Œ์•„๊ฐ”์Šต๋‹ˆ๋‹ค. ๋ฏธ์•ˆํ•ฉ๋‹ˆ๋‹ค.

ํ•˜ํ•˜ ๊ฑฑ์ •๋งˆ์„ธ์š” :dagger:

์•ˆ๋…•ํ•˜์„ธ์š”. ์ด ์Šค๋ ˆ๋“œ๋ฅผ ์ฃผ์˜ ๊นŠ๊ฒŒ ์ฝ์—ˆ์ง€๋งŒ ๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ์— ๋Œ€ํ•œ ์–ด๋–ค ๊ฒฐ๋ก ๋„ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. @mariokostelac์ด ๋งํ–ˆ๋“ฏ์ด ์œ ์ง€ ๊ด€๋ฆฌ ๋ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€์—๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ํ•œํŽธ์œผ๋กœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ด๋ฏธ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉ๋˜์—ˆ์„ ๋•Œ ์ƒˆ ๋ฒ„์ „์„ ์ถœ์‹œํ•˜๋Š” ๊ฒƒ์€ ๋งŽ์€ ์ž‘์—…์„ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š์•„์•ผ ํ•˜์ง€๋งŒ ์•„์ง ๋ช‡ ๋‹ฌ ๋™์•ˆ ๋ฒ„์ „์ด ์ถœ์‹œ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด @Jamim ์ด ์ œ๊ธฐํ•œ ์ด ๋ฌธ์ œ์˜ ์›๋ž˜ ์ฃผ์ œ

@antoine-gallix ์•„๋งˆ๋„ @auvipy ๊ฐ€ ๋‚ด๊ฐ€ ํ‹€๋ ธ๋‹ค๋ฉด ๋‚˜๋ฅผ
ํ”„๋กœ์ ํŠธ์—์„œ ์ตœ์‹  ๋งˆ์Šคํ„ฐ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์‹ค์ œ๋กœ ํ…Œ์ŠคํŠธ๋Š” 3.7๋กœ ์‹คํ–‰ํ•  ๋•Œ ์‹คํŒจํ•˜๊ณ  https://github.com/celery/py-amqp/issues/206 ์„ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
์ด๊ฒƒ์€ ๊ธฐ๋ถ€๊ธˆ์ด ๊ฑฐ์˜ ์—†๋Š” ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์—ฌ๊ฐ€ ์‹œ๊ฐ„์— ์ž‘์—…ํ•ฉ๋‹ˆ๋‹ค.
์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ์„ ํ•˜๊ณ  ์ง€์›ํ•˜๋ ค๋ฉด ๊ธฐ์—ฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
์šฐ๋ฆฌ๋Š” ์ •๋ง๋กœ ๋งˆ๊ฐ์ผ์„ ๋งž์ถœ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Python 3.7 ์ง€์›์— ๋Œ€ํ•œ ๊ธฐ์—ฌ๊ฐ€ ๋„์ฐฉํ•˜๋ฉด ์•ž์œผ๋กœ ๋ช‡ ๋‹ฌ ์•ˆ์— ๋ฆด๋ฆฌ์Šค๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

@thedrow ์™„์ „ํžˆ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ •๋ฐ€๋„์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋ฆด๋ฆฌ์Šค๋ฅผ ์™„๋ฃŒํ•˜๊ธฐ ์œ„ํ•ด ๋ˆ„๋ฝ๋œ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ์–ด๋”˜๊ฐ€์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์šฐ๋ฆฌ๊ฐ€ ๋„์šธ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๊ณผ ์ƒํƒœ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @davidbarton ์ž…๋‹ˆ๋‹ค .
๋‚˜๋Š” ๋‹น์‹ ์ด ์ด์ •ํ‘œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค.

@auvipy ์šฐ๋ฆฌ ํšŒ์‚ฌ์—๋Š” Kafka ์ง€์›์ด ํ•„์š”ํ•œ ๊ณ ๊ฐ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์…€๋Ÿฌ๋ฆฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฑฐ๊ธฐ์— ๋„๋‹ฌํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋„๋ก ์ž๊ธˆ์„ ์ง€์›ํ•˜๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์›ํ•œ๋‹ค๋ฉด ๋‹ค์Œ ์ฃผ์— ๋” ์ด์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค.

์—์„œ @ewenger ํ•‘ ๋‚˜๋ฅผ [email protected]

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„, ์…€๋Ÿฌ๋ฆฌ 4.3์˜ ์ถœ์‹œ์ผ์„ ์˜ˆ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
๋‹ค์Œ ์ˆ˜์ • ์‚ฌํ•ญ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค
https://github.com/celery/celery/issues
https://github.com/celery/celery/issues/4995

์ด ์Šค๋ ˆ๋“œ์— ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด Celery 4.3 ์ด ๊ณต์‹์ ์œผ๋กœ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์‹œ ์ฃผ๊ธฐ ๋ฐ ์ง€์› ์ •์ฑ…์„ ๊ณง ๋ฌธ์„œํ™”ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
๊ณ„์† ์ง€์ผœ๋ด ์ฃผ์„ธ์š”.

์ถœ์‹œ ์ฃผ๊ธฐ ๋ฐ ์ง€์› ์ •์ฑ…์„ ๊ณง ๋ฌธ์„œํ™”ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
๊ณ„์† ์ง€์ผœ๋ด ์ฃผ์„ธ์š”.

๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ์–ด๋””์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ฐ์‚ฌ ํ•ด์š”.

์ถœ์‹œ ์ฃผ๊ธฐ ๋ฐ ์ง€์› ์ •์ฑ…์„ ๊ณง ๋ฌธ์„œํ™”ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
๊ณ„์† ์ง€์ผœ๋ด ์ฃผ์„ธ์š”.

๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ์–ด๋””์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ฐ์‚ฌ ํ•ด์š”.

Github ์ด์ •ํ‘œ ํ™•์ธ

์…€๋Ÿฌ๋ฆฌ๋Š” ์ด์ œ ๋” ์ž์ฃผ ๋ฒ„๊ทธ ์ˆ˜์ • ๋งˆ์ด๋„ˆ ๋ฆด๋ฆฌ์Šค๋ฅผ ๋ฆด๋ฆฌ์Šคํ•ฉ๋‹ˆ๋‹ค.

IMHO ์šฐ๋ฆฌ๋Š” SemVer ๊ธฐ๋ฐ˜ ๋ฆด๋ฆฌ์Šค๋ฅผ ๊ณ ์ˆ˜ํ•ด์•ผ ํ•˜๋ฉฐ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ์—ฐ์† ๋ฆด๋ฆฌ์Šค ๋˜๋Š” ์ž‘์€ ์ƒˆ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋œ ์ฃผ๊ฐ„/๊ฒฉ์ฃผ/์›”๊ฐ„ ํŒจ์น˜/๋งˆ์ด๋„ˆ ๋ฆด๋ฆฌ์Šค๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰