-
-
Notifications
You must be signed in to change notification settings - Fork 6.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
π Add Korean translation for `docs/ko/docs/tutorial/background-tasks.β¦
β¦md` (#5910)
- Loading branch information
Showing
1 changed file
with
102 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
# λ°±κ·ΈλΌμ΄λ μμ | ||
|
||
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`λ₯Ό κ°μ Έμ€κ³ μ¬μ©ν©λλ€. |