๊ฐ์
ํ ์คํธ ์งํํ๋๋ฐ redis๋ฅผ ์ค์๊ฐ ๋ชจ๋ํฐ๋ง ํ๋ ค๊ณ ํจ
์งํ
Redis ์ค์๊ฐ ๋ก๊ทธ
Redis์ ๋ชจ๋ ์์ฒญ์ ์ค์๊ฐ์ผ๋ก ํ์ธํ๋ ๋ช ๋ น์ด:
redis-cli monitor
→ Redis์ ๋ชจ๋ ์์ ์ ์ค์๊ฐ์ผ๋ก ํ์ธํ๋ค. ๋๋ฌด ๋ง์ ๋ก๊ทธ๊ฐ ์ถ๋ ฅ๋๊ณ ์์ด์ ๊ฐ๋ ์ฑ์ด ์ข์ง ์๋ค.
Celery ์์ฒด ๋ชจ๋ํฐ๋ง
Redis์ ๋ก๊ทธ ์ค์์ ๋ด๊ฐ ๋ฑ๋กํ celery app์ ๋ํ ๋ก๊ทธ๋ง ์ถ๋ ฅํ๊ณ ์ถ์ด์ ์ฐพ์๋ดค๋๋ฐ, Celery์์ ์คํ๋๋ ์์ ์ ์ค์๊ฐ์ผ๋ก ํ์ธํ ์ ์๋ celery ์์ฒด ๋ชจ๋ํฐ๋ง์ด ์์๋ค.
โ celery worker ์คํํ ๋ -E ์ต์ ์ถ๊ฐํด์ ์ด๋ฒคํธ ๋ก๊น ํ์ฑํํ๊ธฐ (์๋๋ฉด ์๋ฌด๊ฒ๋ ์๋ธ)
pkill -9 -f "celery worker" # ๊ธฐ์กด ์์ปค ์ข
๋ฃ
celery -A celery_tasks.celery_app worker --loglevel=info -E
์ฝ๋ ์์์ ์ถ๊ฐํด๋ ๋จ
celery_app.conf.update(
worker_send_task_events=True, # ์ด๋ฒคํธ ๋ก๊น
๊ธฐ๋ณธ ํ์ฑํ
task_track_started=True # ํ์คํฌ๊ฐ ์์๋ ์ํ๋ ์ถ์
)
์ค์๊ฐ ๋ชจ๋ํฐ๋ง
celery -A celery_tasks.celery_app events
๋ชจ๋ํฐ๋ง ์คํ๋ ์ํ์์ celery task ์คํ ์์ฒญ์ ๋ณด๋๋ค
# Request
curl -X POST "http://127.0.0.1:8000/crawl/?url=https://example.com"
# Response
{"task_id":"051dd5aa-4a8a-4272-94e1-c6b5f982f4cb","message":"Crawling started for https://example.com"}
์ค์๊ฐ ๋ชจ๋ํฐ๋ง์ Task ์์ฑ๋๊ณ State๊ฐ STARTED๋ก ์ ๋ฐ์ดํธ๋จ
์คํ ์๋ฃ ํ State๊ฐ SUCCESS๋ก ์ ๋ฐ์ดํธ๋จ
์ฌ๋ฌ๊ฐ ๋ง์ด ์์ฒญํ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด ์ ์์ด๋ ๊ฒ๋ ํ์ธํ ์ ์๋
โ โ Task๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ชจ๋ํฐ๋ง ํ๊ณ ์ถ์ ๋ ์ด๋ ๊ฒ ์ฌ์ฉํด๋ณด์ !! โโ
'๐ฉ๐ปโ๐ป > celery + redis' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Celery] ๊ฐ๋จํ๊ฒ ์ฑ๋ฅ ์ฒดํฌ (0) | 2025.02.19 |
---|---|
[Celery] ์ ์ ํ concurrency ๊ฐ ์ค์ ํ๊ธฐ (0) | 2025.02.19 |
Redis and Celery (0) | 2025.02.12 |
Celery๋ฅผ ์ด์ฉํ ํฌ๋กค๋ง ์์ (1) | 2025.02.05 |
[Redis] Redis์ ๋ํ ๊ฐ๋จํ ์ ๋ฆฌ (0) | 2023.12.04 |