> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crewai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Reexecutar Tarefas a partir do Último Crew Kickoff

> Reexecute tarefas a partir do último crew.kickoff(...)

## Introdução

O CrewAI oferece a capacidade de reexecutar uma tarefa especificada a partir do último crew kickoff. Esse recurso é particularmente útil quando você concluiu um kickoff e deseja tentar novamente determinadas tarefas, ou não precisa buscar dados novamente porque seus agentes já possuem o contexto salvo da execução do kickoff, sendo necessário apenas reexecutar as tarefas desejadas.

<Note>
  Você deve executar `crew.kickoff()` antes de poder reexecutar uma tarefa.
  Atualmente, apenas o kickoff mais recente é suportado, então se você utilizar `kickoff_for_each`, será possível reexecutar apenas a partir da execução de crew mais recente.
</Note>

Aqui está um exemplo de como reexecutar a partir de uma tarefa:

### Reexecutando a partir de uma Tarefa Específica Usando o CLI

Para utilizar o recurso de reexecução, siga estes passos:

<Steps>
  <Step title="Abra seu terminal ou prompt de comando." />

  <Step title="Navegue até o diretório onde está localizado seu projeto CrewAI." />

  <Step title="Execute os seguintes comandos:">
    Para visualizar os task\_ids do último kickoff, utilize:

    ```shell theme={null}
    crewai log-tasks-outputs
    ```

    Após identificar o `task_id` que deseja reexecutar, utilize:

    ```shell theme={null}
    crewai replay -t <task_id>
    ```
  </Step>
</Steps>

<Note>
  Certifique-se de que o `crewai` está instalado e devidamente configurado no seu ambiente de desenvolvimento.
</Note>

### Reexecutando uma Tarefa Programaticamente

Para reexecutar uma tarefa programaticamente, siga os passos abaixo:

<Steps>
  <Step title="Especifique o `task_id` e os parâmetros de entrada para o processo de reexecução.">
    Especifique o `task_id` e os parâmetros de entrada para o processo de reexecução.
  </Step>

  <Step title="Execute o comando de reexecução dentro de um bloco try-except para lidar com possíveis erros.">
    Execute o comando de reexecução dentro de um bloco try-except para lidar com possíveis erros.

    <CodeGroup>
      ```python Code theme={null}
        def replay():
        """
        Replay the crew execution from a specific task.
        """
        task_id = '<task_id>'
        inputs = {"topic": "CrewAI Training"}  # This is optional; you can pass in the inputs you want to replay; otherwise, it uses the previous kickoff's inputs.
        try:
            YourCrewName_Crew().crew().replay(task_id=task_id, inputs=inputs)

        except subprocess.CalledProcessError as e:
            raise Exception(f"An error occurred while replaying the crew: {e}")

        except Exception as e:
            raise Exception(f"An unexpected error occurred: {e}")
      ```
    </CodeGroup>
  </Step>
</Steps>

## Conclusão

Com as melhorias acima e funcionalidades detalhadas, a reexecução de tarefas específicas no CrewAI ficou mais eficiente e robusta.
Certifique-se de seguir exatamente os comandos e passos para aproveitar ao máximo esses recursos.
