@ -15,9 +15,7 @@ Isso inclui, por exemplo:
Primeiro, importe `BackgroundTasks` e defina um parâmetro em sua _função de operação de caminho_ com uma declaração de tipo de `BackgroundTasks` :
Primeiro, importe `BackgroundTasks` e defina um parâmetro em sua _função de operação de caminho_ com uma declaração de tipo de `BackgroundTasks` :
```Python hl_lines="1 13"
{* ../../docs_src/background_tasks/tutorial001.py hl[1,13] *}
{!../../docs_src/background_tasks/tutorial001.py!}
```
O **FastAPI** criará o objeto do tipo `BackgroundTasks` para você e o passará como esse parâmetro.
O **FastAPI** criará o objeto do tipo `BackgroundTasks` para você e o passará como esse parâmetro.
@ -33,17 +31,13 @@ Nesse caso, a função de tarefa gravará em um arquivo (simulando o envio de um
E como a operação de gravação não usa `async` e `await` , definimos a função com `def` normal:
E como a operação de gravação não usa `async` e `await` , definimos a função com `def` normal:
```Python hl_lines="6-9"
{* ../../docs_src/background_tasks/tutorial001.py hl[6:9] *}
{!../../docs_src/background_tasks/tutorial001.py!}
```
## Adicionar a tarefa em segundo plano
## Adicionar a tarefa em segundo plano
Dentro de sua _função de operação de caminho_ , passe sua função de tarefa para o objeto _tarefas em segundo plano_ com o método `.add_task()` :
Dentro de sua _função de operação de caminho_ , passe sua função de tarefa para o objeto _tarefas em segundo plano_ com o método `.add_task()` :
```Python hl_lines="14"
{* ../../docs_src/background_tasks/tutorial001.py hl[14] *}
{!../../docs_src/background_tasks/tutorial001.py!}
```
`.add_task()` recebe como argumentos:
`.add_task()` recebe como argumentos:
@ -57,9 +51,7 @@ Usar `BackgroundTasks` também funciona com o sistema de injeção de dependênc
O **FastAPI** sabe o que fazer em cada caso e como reutilizar o mesmo objeto, de forma que todas as tarefas em segundo plano sejam mescladas e executadas em segundo plano posteriormente:
O **FastAPI** sabe o que fazer em cada caso e como reutilizar o mesmo objeto, de forma que todas as tarefas em segundo plano sejam mescladas e executadas em segundo plano posteriormente:
```Python hl_lines="13 15 22 25"
{* ../../docs_src/background_tasks/tutorial002.py hl[13,15,22,25] *}
{!../../docs_src/background_tasks/tutorial002.py!}
```
Neste exemplo, as mensagens serão gravadas no arquivo `log.txt` _após_ o envio da resposta.
Neste exemplo, as mensagens serão gravadas no arquivo `log.txt` _após_ o envio da resposta.