--- /dev/null
+# λ°±κ·ΈλΌμ΄λ μμ
+
+FastAPIμμλ μλ΅μ λ°νν νμ μ€νν λ°±κ·ΈλΌμ΄λ μμ
μ μ μν μ μμ΅λλ€.
+
+λ°±κ·ΈλΌμ΄λ μμ
μ ν΄λΌμ΄μΈνΈκ° μλ΅μ λ°κΈ° μν΄ μμ
μ΄ μλ£λ λκΉμ§ κΈ°λ€λ¦΄ νμκ° μκΈ° λλ¬Έμ μμ² νμ λ°μν΄μΌνλ μμ
μ λ§€μ° μ μ©ν©λλ€.
+
+μ΄λ¬ν μμ
μλ λ€μμ΄ ν¬ν¨λ©λλ€.
+
+* μμ
μ μνν ν μ μ‘λλ μ΄λ©μΌ μλ¦Ό
+ * μ΄λ©μΌ μλ²μ μ°κ²°νκ³ μ΄λ©μΌμ μ μ‘νλ κ²μ (λͺ μ΄ μ λ) "λλ¦°" κ²½ν₯μ΄ μμΌλ―λ‘, μλ΅μ μ¦μ λ°ννκ³ μ΄λ©μΌ μλ¦Όμ λ°±κ·ΈλΌμ΄λμμ μ μ‘νλ κ² κ°λ₯ν©λλ€.
+* λ°μ΄ν° μ²λ¦¬:
+ * μλ₯Ό λ€μ΄ μ²λ¦¬μ μ€λ μκ°μ΄ 걸리λ λ°μ΄ν°λ₯Ό λ°μμ λ "Accepted" (HTTP 202)μ λ°ννκ³ , λ°±κ·ΈλΌμ΄λμμ λ°μ΄ν°λ₯Ό μ²λ¦¬ν μ μμ΅λλ€.
+
+## `λ°±κ·ΈλΌμ΄λ μμ
` μ¬μ©
+
+λ¨Όμ μλμ κ°μ΄ `BackgroundTasks`λ₯Ό μν¬νΈνκ³ , `BackgroundTasks`λ₯Ό _κ²½λ‘ λμ ν¨μ_ μμ λ§€κ°λ³μλ‘ κ°μ Έμ€κ³ μ μν©λλ€.
+
+```Python hl_lines="1 13"
+{!../../../docs_src/background_tasks/tutorial001.py!}
+```
+
+**FastAPI** λ `BackgroundTasks` κ°μ²΄λ₯Ό μμ±νκ³ , λ§€κ° λ³μλ‘ μ λ¬ν©λλ€.
+
+## μμ
ν¨μ μμ±
+
+λ°±κ·ΈλΌμ΄λ μμ
μΌλ‘ μ€νν ν¨μλ₯Ό μ μν©λλ€.
+
+μ΄κ²μ λ¨μν λ§€κ°λ³μλ₯Ό λ°μ μ μλ νμ€ ν¨μμΌ λΏμ
λλ€.
+
+**FastAPI**λ μ΄κ²μ΄ `async def` ν¨μμ΄λ , μΌλ° `def` ν¨μμ΄λ λ΄λΆμ μΌλ‘ μ΄λ₯Ό μ¬λ°λ₯΄κ² μ²λ¦¬ν©λλ€.
+
+μ΄ κ²½μ°, μλ μμ
μ νμΌμ μ°λ ν¨μμ
λλ€. (μ΄λ©μΌ 보λ΄κΈ° μλ¬Όλ μ΄μ
)
+
+κ·Έλ¦¬κ³ μ΄ μμ
μ `async`μ `await`λ₯Ό μ¬μ©νμ§ μμΌλ―λ‘ μΌλ° `def` ν¨μλ‘ μ μΈν©λλ€.
+
+```Python hl_lines="6-9"
+{!../../../docs_src/background_tasks/tutorial001.py!}
+```
+
+## λ°±κ·ΈλΌμ΄λ μμ
μΆκ°
+
+_κ²½λ‘ λμ ν¨μ_ λ΄μμ μμ
ν¨μλ₯Ό `.add_task()` ν¨μ ν΅ν΄ _λ°±κ·ΈλΌμ΄λ μμ
_ κ°μ²΄μ μ λ¬ν©λλ€.
+
+```Python hl_lines="14"
+{!../../../docs_src/background_tasks/tutorial001.py!}
+```
+
+`.add_task()` ν¨μλ λ€μκ³Ό κ°μ μΈμλ₯Ό λ°μ΅λλ€ :
+
+- λ°±κ·ΈλΌμ΄λμμ μ€νλλ μμ
ν¨μ (`write_notification`).
+- μμ
ν¨μμ μμλλ‘ μ λ¬λμ΄μΌ νλ μΌλ ¨μ μΈμ (`email`).
+- μμ
ν¨μμ μ λ¬λμ΄μΌνλ λͺ¨λ ν€μλ μΈμ (`message="some notification"`).
+
+## μμ‘΄μ± μ£Όμ
+
+`BackgroundTasks`λ₯Ό μμ‘΄μ± μ£Όμ
μμ€ν
κ³Ό ν¨κ» μ¬μ©νλ©΄ _κ²½λ‘ λμ ν¨μ_, μ’
μμ±, νμ μ’
μμ± λ± μ¬λ¬ μμ€μμ BackgroundTasks μ νμ λ§€κ°λ³μλ₯Ό μ μΈν μ μμ΅λλ€.
+
+**FastAPI**λ κ° κ²½μ°μ μνν μμ
κ³Ό λμΌν κ°μ²΄λ₯Ό λ΄λΆμ μΌλ‘ μ¬μ¬μ©νκΈ°μ, λͺ¨λ λ°±κ·ΈλΌμ΄λ μμ
μ΄ ν¨κ» λ³ν©λκ³ λμ€μ λ°±κ·ΈλΌμ΄λμμ μ€νλ©λλ€.
+
+=== "Python 3.6 and above"
+
+ ```Python hl_lines="13 15 22 25"
+ {!> ../../../docs_src/background_tasks/tutorial002.py!}
+ ```
+
+=== "Python 3.10 and above"
+
+ ```Python hl_lines="11 13 20 23"
+ {!> ../../../docs_src/background_tasks/tutorial002_py310.py!}
+ ```
+
+μ΄ μμ μμλ μλ΅μ΄ λ°νλ νμ `log.txt` νμΌμ λ©μμ§κ° κΈ°λ‘λ©λλ€.
+
+μμ²μ μΏΌλ¦¬κ° μλ κ²½μ° λ°±κ·ΈλΌμ΄λ μμ
μ λ‘κ·Έμ κΈ°λ‘λ©λλ€.
+
+κ·Έλ¦¬κ³ _κ²½λ‘ λμ ν¨μ_ μμ μμ±λ λ λ€λ₯Έ λ°±κ·ΈλΌμ΄λ μμ
μ κ²½λ‘ λ§€κ° λ³μλ₯Ό νμ©νμ¬ μ¬μ©νμ¬ λ©μμ§λ₯Ό μμ±ν©λλ€.
+
+## κΈ°μ μ μΈλΆμ¬ν
+
+`BackgroundTasks` ν΄λμ€λ <a href="https://www.starlette.io/background/" class="external-link" target="_blank">`starlette.background`</a>μμ μ§μ κ°μ Έμ΅λλ€.
+
+`BackgroundTasks` ν΄λμ€λ FastAPIμμ μ§μ μν¬νΈνκ±°λ ν¬ν¨νκΈ° λλ¬Έμ μ€μλ‘ `BackgroundTask` (λμ `s`κ° μμ)μ μν¬νΈνλλΌλ starlette.backgroundμμ `BackgroundTask`λ₯Ό κ°μ Έμ€λ κ²μ λ°©μ§ν μ μμ΅λλ€.
+
+(`BackgroundTask`κ° μλ) `BackgroundTasks`λ₯Ό μ¬μ©νλ©΄, _κ²½λ‘ λμ ν¨μ_ λ§€κ°λ³μλ‘ μ¬μ©ν μ μκ² λκ³ λλ¨Έμ§λ **FastAPI**κ° λμ μ²λ¦¬νλλ‘ ν μ μμ΅λλ€. μ΄κ²μ `Request` κ°μ²΄λ₯Ό μ§μ μ¬μ©νλ κ²κ³Ό κ°μ λ°©μμ
λλ€.
+
+FastAPIμμ `BackgroundTask`λ₯Ό λ¨λ
μΌλ‘ μ¬μ©νλ κ²μ μ¬μ ν κ°λ₯ν©λλ€. νμ§λ§ κ°μ²΄λ₯Ό μ½λμμ μμ±νκ³ , μ΄ κ°μ²΄λ₯Ό ν¬ν¨νλ Starlette `Response`λ₯Ό λ°νν΄μΌ ν©λλ€.
+
+<a href="https://www.starlette.io/background/" class="external-link" target="_blank">`Starletteμ 곡μ λ¬Έμ`</a>μμ λ°±κ·ΈλΌμ΄λ μμ
μ λν μμΈν λ΄μ©μ νμΈν μ μμ΅λλ€.
+
+## κ²½κ³
+
+λ§μ½ λ¬΄κ±°μ΄ λ°±κ·ΈλΌμ΄λ μμ
μ μνν΄μΌνκ³ λμΌν νλ‘μΈμ€μμ μ€νν νμκ° μλ κ²½μ° (μ: λ©λͺ¨λ¦¬, λ³μ λ±μ 곡μ ν νμκ° μμ) <a href="https://docs.celeryq.dev" class="external-link" target="_blank">`Celery`</a>μ κ°μ ν° λꡬλ₯Ό μ¬μ©νλ©΄ λμμ΄ λ μ μμ΅λλ€.
+
+RabbitMQ λλ Redisμ κ°μ λ©μμ§/μμ
ν μμ€ν
λ³΄λ€ λ³΅μ‘ν ꡬμ±μ΄ νμν κ²½ν₯μ΄ μμ§λ§, μ¬λ¬ μμ
νλ‘μΈμ€λ₯Ό νΉν μ¬λ¬ μλ²μ λ°±κ·ΈλΌμ΄λμμ μ€νν μ μμ΅λλ€.
+
+μμ λ₯Ό 보μλ €λ©΄ [νλ‘μ νΈ μμ±κΈ°](../project-generation.md){.internal-link target=\_blank} λ₯Ό μ°Έκ³ νμΈμ. ν΄λΉ μμ μλ μ΄λ―Έ ꡬμ±λ `Celery`κ° ν¬ν¨λμ΄ μμ΅λλ€.
+
+κ·Έλ¬λ λμΌν FastAPI μ±μμ λ³μ λ° κ°μ²΄μ μ κ·Όν΄μΌνλ μμ λ°±κ·ΈλΌμ΄λ μνμ΄ νμν κ²½μ° (μ : μλ¦Ό μ΄λ©μΌ 보λ΄κΈ°) κ°λ¨νκ² `BackgroundTasks`λ₯Ό μ¬μ©ν΄λ³΄μΈμ.
+
+## μμ½
+
+λ°±κ·ΈλΌμ΄λ μμ
μ μΆκ°νκΈ° μν΄ _κ²½λ‘ λμ ν¨μ_ μ λ§€κ°λ³μλ‘ `BackgroundTasks`λ₯Ό κ°μ Έμ€κ³ μ¬μ©ν©λλ€.