DUMB_INIT_SETSID: "0" ์ ์๋ฏธ
- Celery worker ์ปจํ ์ด๋๊ฐ ์ ์์ ์ผ๋ก ์ข ๋ฃ๋๋๋ก ๋๋ ์ค์
- Docker ์ปจํ ์ด๋ ์์์ ์ข ๋ฃ ์๊ทธ๋์ด ์ ๋๋ก ์ ๋ฌ๋์ง ์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฌ์ฉ๋จ
๋ฐฐ๊ฒฝ
- Airflow์
airflow-worker
๋ ๋ด๋ถ์ ์ผ๋ก Celery worker ํ๋ก์ธ์ค๋ฅผ ์คํ - Docker๋ ๊ธฐ๋ณธ์ ์ผ๋ก **์ต์์ ํ๋ก์ธ์ค(= PID 1)**์๋ง ์๊ทธ๋์ ๋ณด๋
- ์ผ๋ฐ์ ์ผ๋ก Celery๋
SIGTERM
,SIGINT
๊ฐ์ ์ข ๋ฃ ์๊ทธ๋์ ๋ฐ์์ผ ๊นจ๋ํ๊ฒ ์ข ๋ฃ - ๊ทธ๋ฐ๋ฐ PID 1์ด Celery๊ฐ ์๋ ๊ฒฝ์ฐ, ์ด ์๊ทธ๋์ด Celery์ ๋๋ฌํ์ง ์๊ณ ๋ฌด์๋จ
Dumb-init์ ์ญํ
- Airflow Docker ์ด๋ฏธ์ง์
/entrypoint
๋ ๋ด๋ถ์ ์ผ๋กdumb-init
์ด๋ผ๋ ์์ init ์์คํ ์ ์ฌ์ฉ dumb-init
์ PID 1๋ก ์คํ๋๋ฉฐ ๋ฐ์ ์๊ทธ๋์ ์์ ํ๋ก์ธ์ค(Celery ๋ฑ)์ ์ ๋ฌ- ์ฆ, ์ ์์ ์ธ ์ข ๋ฃ์ ๋ฆฌ์์ค ์ ๋ฆฌ๋ฅผ ๋ณด์ฅ
DUMB_INIT_SETSID: "0"
์ ์๋ฏธ
dumb-init
์ ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ก์ด ์ธ์ ์ ์์ฑ (setsid()
ํธ์ถ)- ํ์ง๋ง ์ผ๋ถ ์ํฉ์์๋ ์ด๋ก ์ธํด ์๊ทธ๋ ์ ๋ฌ์ด ๊ผฌ์ผ ์ ์์
- ํนํ Celery์ฒ๋ผ ์์ฒด์ ์ผ๋ก ์๊ทธ๋์ ์ฒ๋ฆฌํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ
DUMB_INIT_SETSID=0
์ ์ค์ ํ๋ฉดsetsid()
ํธ์ถ์ ๋นํ์ฑํ- ์๊ทธ๋์ด ํ์ฌ ํฐ๋ฏธ๋ ์ธ์ ๊ทธ๋๋ก ์ ์ง๋๋ฉฐ Celery์ ์ ๋ฌ๋จ
์ฐธ๊ณ
- ๊ด๋ จ ๊ณต์ ๋ฌธ์: https://github.com/Yelp/dumb-init
- Airflow Docker:
/entrypoint
์์dumb-init
์ผ๋ก Celery๋ฅผ ๊ฐ์