μν₯μ λ°λ λ²μ : μ΅μ (4.1.1)
preforkλ μμ μλ sigterm μ νΈλ₯Ό 무μν©λλ€. μ μ’ λ£λ₯Ό λ΄λΉνλ μμ νλ‘μΈμ€λ§ μ΄μ λ°μνκ³ νμ νλ‘μΈμ€λ₯Ό μ μμ μΌλ‘ μ’ λ£ν©λλ€.
preforkλ μμ
μ νλ‘μΈμ€κ° sigtermμ λ°μΌλ©΄ μ¦μ μ’
λ£λ©λλ€(μ: kill <pid>
).
celery_1 | [2018-06-04 09:19:57,376: ERROR/MainProcess] Process 'ForkPoolWorker-2' pid:26 exited with 'signal 15 (SIGTERM)'
sigtermμ΄ μμ μμ μ νλ‘μΈμ€μ λλ¬νλ©΄ μ μ’ λ£κ° μνλ©λλ€. κ·Έ λμ preforkλ μμ μλ κΈ°κ° μ νΈλ₯Ό λ°μΌλ©΄ μμ μ΄ μ’ λ£λ©λλ€.
init μμ€ν
μ΄ μλ λ컀 컨ν
μ΄λμμ μ
λ¬λ¦¬λ₯Ό μ μ νκ² μ’
λ£νλ λ°©λ²μ μ°Ύμ μ μμ΅λλ€.
(λ©μΌλ§ 리μ€νΈ μ°Έμ‘°: https://groups.google.com/forum/#!topic/celery-users/9UF_VyzRt8Q). signalμ΄λΌλ μ©μ΄κ° λΆλͺ¨ νλ‘μΈμ€μλ§ λλ¬νκ³ preforkλ μμ
μμκ²λ λλ¬νμ§ μλλ‘ ν΄μΌ νλ κ² κ°μ΅λλ€. μ΄κ²μ μ¬λ¬ μ
λ¬λ¦¬ μΈμ€ν΄μ€(μ: λΉνΈ λ° λ κ°μ λκΈ°μ΄)λ‘ bash μ€ν¬λ¦½νΈλ₯Ό μ€νν λ λ§€μ° μ΄λ €μ΄ κ² κ°μ΅λλ€.
preforkλ μμ μ νλ‘μΈμ€κ° sigtermμ 무μνλλ‘ νμ©νλ κΈ°λ₯μ μΆκ°ν μ μμ΅λκΉ?
Docker 컨ν μ΄λ λ΄μμ μ¬λ¬ νλ‘μΈμ€λ₯Ό μμν λ μ μ ν μ νΈ μ νλ₯Ό κ°μ§λ €λ©΄ μλ§λ supervisord μ κ°μ νλ‘μΈμ€ κ΄λ¦¬μκ° νμν κ²μ λλ€.
μμΈν λ΄μ©μ λμ»€κ° μμ μ μ€μ§νλ λ°©λ²μ λν κ°μμ λλ€. https://www.ctl.io/developers/blog/post/gracefully-stopping-docker-containers/#docker -stop
λν μ΄λ―Έ dockerλ₯Ό μ¬μ©νκ³ μλ€λ©΄ 컨ν
μ΄λλΉ νλμ μμ
μλ₯Ό μ€ννλ κ²μ΄ μ’μ΅λλ€.
κ΄λ¦¬κ° λ μ½κ³ 컨ν
μ΄λμ λ§μ μ€λ²ν€λκ° μμ΅λλ€. λν k8sμ κ°μ λꡬλ₯Ό μ¬μ©ν λ μλ ν¬κΈ° μ‘°μ μ μννλ κ²μ΄ λ μ½μ΅λλ€.
λ§μ§λ§ νκ°μ§. μ¬λ¬ μμ
μλ₯Ό κ΄λ¦¬νκΈ° μν΄ μμ μ bash μ€ν¬λ¦½νΈλ₯Ό μ€ννλ €λ©΄ κ° μμ
μλ₯Ό μ€νν λ€μ SIGTERMμ΄ λνλ λκΉμ§ 무기ν μ μ
κ·Έλ° μΌμ΄ λ°μνλ©΄ κ°μ μμ
μ PIDλ₯Ό μ»μ λ€μ κ°κ°μ μ μμ μΌλ‘ μ€μ§ν μ μμ΅λλ€.
κΈ°λ³Έμ μΌλ‘ 무μμ μ΄λ supervisord @georgepsarakisλ μ§μ νλ€.
λμμ΄ λλ μ μμ ν΄μ£Όμ @georgepsarakis μ @xirdneh μκ² κ°μ¬λ립λλ€. λλ κ°λ
μμ ν¨κ» μμ
μ€μ μ μ»μ μ μμλ€! π
컨ν
μ΄λλΉ μμ
μκ° 1λͺ
μΈ κ²λ λ§€μ° μ’μ μ μμ
λλ€! μ λ§ κ°μ¬ν©λλ€!
κ°μ₯ μ μ©ν λκΈ
λμμ΄ λλ μ μμ ν΄μ£Όμ @georgepsarakis μ @xirdneh μκ² κ°μ¬λ립λλ€. λλ κ°λ μμ ν¨κ» μμ μ€μ μ μ»μ μ μμλ€! π
컨ν μ΄λλΉ μμ μκ° 1λͺ μΈ κ²λ λ§€μ° μ’μ μ μμ λλ€! μ λ§ κ°μ¬ν©λλ€!