From: 吴定焕 <108172295+wdh99@users.noreply.github.com>
Date: Thu, 27 Jul 2023 18:55:40 +0000 (+0800)
Subject: 🌐 Add Chinese translation for `docs/zh/docs/tutorial/background-tasks.md` (#9812)
X-Git-Tag: 0.100.1~11
X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e081145c7dc1218b4fee08f61295f76549aa0156;p=thirdparty%2Ffastapi%2Ffastapi.git
🌐 Add Chinese translation for `docs/zh/docs/tutorial/background-tasks.md` (#9812)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
---
diff --git a/docs/zh/docs/tutorial/background-tasks.md b/docs/zh/docs/tutorial/background-tasks.md
new file mode 100644
index 0000000000..c8568298b1
--- /dev/null
+++ b/docs/zh/docs/tutorial/background-tasks.md
@@ -0,0 +1,126 @@
+# åå°ä»»å¡
+
+ä½ å¯ä»¥å®ä¹å¨è¿åååºåè¿è¡çåå°ä»»å¡ã
+
+è¿å¯¹éè¦å¨è¯·æ±ä¹åæ§è¡çæä½å¾æç¨ï¼ä½å®¢æ·ç«¯ä¸å¿
卿¥æ¶ååºä¹åçå¾
æä½å®æã
+
+å
æ¬è¿äºä¾åï¼
+
+* æ§è¡æä½ååéççµåé®ä»¶éç¥ï¼
+ * ç±äºè¿æ¥å°çµåé®ä»¶æå¡å¨å¹¶åéçµåé®ä»¶å¾å¾å¾âæ
¢âï¼å ç§éï¼ï¼æ¨å¯ä»¥ç«å³è¿åååºå¹¶å¨åå°åéçµåé®ä»¶éç¥ã
+* å¤çæ°æ®ï¼
+ * ä¾å¦ï¼åè®¾æ¨æ¶å°çæä»¶å¿
é¡»ç»è¿ä¸ä¸ªç¼æ
¢çè¿ç¨ï¼æ¨å¯ä»¥è¿åä¸ä¸ª"Accepted"(HTTP 202)ååºå¹¶å¨åå°å¤çå®ã
+
+## ä½¿ç¨ `BackgroundTasks`
+
+é¦å
导å
¥ `BackgroundTasks` å¹¶å¨ *è·¯å¾æä½å½æ°* ä¸ä½¿ç¨ç±»å声æ `BackgroundTasks` å®ä¹ä¸ä¸ªåæ°ï¼
+
+```Python hl_lines="1 13"
+{!../../../docs_src/background_tasks/tutorial001.py!}
+```
+
+**FastAPI** ä¼å建ä¸ä¸ª `BackgroundTasks` ç±»åç对象并ä½ä¸ºè¯¥åæ°ä¼ å
¥ã
+
+## å建ä¸ä¸ªä»»å¡å½æ°
+
+å建è¦ä½ä¸ºåå°ä»»å¡è¿è¡ç彿°ã
+
+å®åªæ¯ä¸ä¸ªå¯ä»¥æ¥æ¶åæ°çæ å彿°ã
+
+å®å¯ä»¥æ¯ `async def` ææ®éç `def` 彿°ï¼**FastAPI** ç¥éå¦ä½æ£ç¡®å¤çã
+
+å¨è¿ç§æ
åµä¸ï¼ä»»å¡å½æ°å°åå
¥ä¸ä¸ªæä»¶ï¼æ¨¡æåéçµåé®ä»¶ï¼ã
+
+ç±äºåæä½ä¸ä½¿ç¨ `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.10+"
+
+ ```Python hl_lines="13 15 22 25"
+ {!> ../../../docs_src/background_tasks/tutorial002_an_py310.py!}
+ ```
+
+=== "Python 3.9+"
+
+ ```Python hl_lines="13 15 22 25"
+ {!> ../../../docs_src/background_tasks/tutorial002_an_py39.py!}
+ ```
+
+=== "Python 3.6+"
+
+ ```Python hl_lines="14 16 23 26"
+ {!> ../../../docs_src/background_tasks/tutorial002_an.py!}
+ ```
+
+=== "Python 3.10+ 没Annotated"
+
+ !!! tip
+ å°½å¯è½éæ©ä½¿ç¨ `Annotated` ççæ¬ã
+
+ ```Python hl_lines="11 13 20 23"
+ {!> ../../../docs_src/background_tasks/tutorial002_py310.py!}
+ ```
+
+=== "Python 3.6+ 没Annotated"
+
+ !!! tip
+ å°½å¯è½éæ©ä½¿ç¨ `Annotated` ççæ¬ã
+
+ ```Python hl_lines="13 15 22 25"
+ {!> ../../../docs_src/background_tasks/tutorial002.py!}
+ ```
+
+该示ä¾ä¸ï¼ä¿¡æ¯ä¼å¨ååºååº *ä¹å* 被åå° `log.txt` æä»¶ã
+
+å¦æè¯·æ±ä¸ææ¥è¯¢ï¼å®å°å¨åå°ä»»å¡ä¸åå
¥æ¥å¿ã
+
+ç¶åå¦ä¸ä¸ªå¨ *è·¯å¾æä½å½æ°* çæçåå°ä»»å¡ä¼ä½¿ç¨è·¯å¾åæ° `email` åå
¥ä¸æ¡ä¿¡æ¯ã
+
+## ææ¯ç»è
+
+`BackgroundTasks` ç±»ç´æ¥æ¥èª `starlette.background`ã
+
+å®è¢«ç´æ¥å¯¼å
¥/å
å«å°FastAPIä»¥ä¾¿ä½ å¯ä»¥ä» `fastapi` 导å
¥ï¼å¹¶é¿å
æå¤ä» `starlette.background` 导å
¥å¤ç¨ç `BackgroundTask` (å颿²¡æ `s`)ã
+
+éè¿ä»
ä½¿ç¨ `BackgroundTasks` (è䏿¯ `BackgroundTask`)ï¼ä½¿å¾è½å°å®ä½ä¸º *è·¯å¾æä½å½æ°* çåæ° ï¼å¹¶è®©**FastAPI**为æ¨å¤çå
¶ä½é¨å, å°±åç´æ¥ä½¿ç¨ `Request` 对象ã
+
+å¨FastAPIä¸ä»ç¶å¯ä»¥åç¬ä½¿ç¨ `BackgroundTask`ï¼ä½æ¨å¿
é¡»å¨ä»£ç ä¸å建对象ï¼å¹¶è¿åå
å«å®çStarlette `Response`ã
+
+æ´å¤ç»èæ¥ç Starlette's official docs for Background Tasks.
+
+## å诫
+
+妿æ¨éè¦æ§è¡ç¹éçåå°è®¡ç®ï¼å¹¶ä¸ä¸ä¸å®éè¦ç±åä¸è¿ç¨è¿è¡ï¼ä¾å¦ï¼æ¨ä¸éè¦å
±äº«å
åãåéçï¼ï¼é£ä¹ä½¿ç¨å
¶ä»æ´å¤§çå·¥å
·ï¼å¦ Celeryï¼å¯è½æ´å¥½ã
+
+å®ä»¬å¾å¾éè¦æ´å¤æçé
ç½®ï¼å³æ¶æ¯/ä½ä¸éå管çå¨ï¼å¦RabbitMQæRedisï¼ä½å®ä»¬å
许æ¨å¨å¤ä¸ªè¿ç¨ä¸è¿è¡åå°ä»»å¡ï¼çè³æ¯å¨å¤ä¸ªæå¡å¨ä¸ã
+
+è¦æ¥ç示ä¾ï¼æ¥é
[Project Generators](../project-generation.md){.internal-link target=_blank}ï¼å®ä»¬é½å
æ¬å·²ç»é
ç½®çCeleryã
+
+使¯ï¼å¦ææ¨éè¦ä»åä¸ä¸ª**FastAPI**åºç¨ç¨åºè®¿é®åéåå¯¹è±¡ï¼æè
æ¨éè¦æ§è¡å°ååå°ä»»å¡ï¼å¦åéçµåé®ä»¶éç¥ï¼ï¼æ¨åªéä½¿ç¨ `BackgroundTasks` å³å¯ã
+
+## å顾
+
+导å
¥å¹¶ä½¿ç¨ `BackgroundTasks` éè¿ *è·¯å¾æä½å½æ°* ä¸çåæ°åä¾èµé¡¹æ¥æ·»å åå°ä»»å¡ã