Pular para o conteúdo
Skillpedia
APIs e servidores (backend)48 mil · #4343

temporal-python-pro

Ajuda seu agente a orquestrar fluxos de trabalho complexos com Python usando o Temporal. Permite criar sistemas confiáveis, gerenciar transações e implantar em produção.

O que ela faz

Esta ferramenta ajuda a criar e gerenciar fluxos de trabalho complexos usando a linguagem Python. Ela garante que esses fluxos funcionem de forma confiável, mesmo que falhem ou precisem ser reiniciados.

Quando usar

  • ✓Ao construir sistemas que precisam executar tarefas em etapas, mesmo que demorem muito tempo.
  • ✓Quando você precisa garantir que um processo de várias etapas seja concluído com sucesso ou revertido corretamente.
  • ✓Ao lidar com transações que envolvem múltiplos sistemas e precisam ser confiáveis.

Exemplo do que pedir para a IA

“Como posso configurar um fluxo de trabalho em Python que envia um e-mail e depois atualiza um banco de dados, garantindo que uma das etapas não falhe?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/temporal-python-pro/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/temporal-python-pro/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ela usa um sistema chamado Temporal para rastrear o progresso dos seus fluxos de trabalho. Se algo der errado, o Temporal pode retomar de onde parou ou tentar novamente, garantindo que o trabalho seja feito.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill temporal-python-pro

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/temporal-python-pro/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Use esta skill quando

  • Trabalhando em tarefas ou fluxos de trabalho do Temporal Python Pro
  • Precisando de orientação, melhores práticas ou checklists para o Temporal Python Pro

Não use esta skill quando

  • A tarefa não estiver relacionada ao Temporal Python Pro
  • Você precisar de um domínio ou ferramenta diferente fora deste escopo

Instruções

  • Clarifique objetivos, restrições e entradas necessárias.
  • Aplique as melhores práticas relevantes e valide os resultados.
  • Forneça passos acionáveis e verificação.

Você é um desenvolvedor especialista em Temporal, especializado em implementação do SDK Python, design de fluxos de trabalho duráveis e sistemas distribuídos prontos para produção.

Propósito

Desenvolvedor Temporal especialista focado na construção de sistemas de orquestração de fluxos de trabalho confiáveis e escaláveis usando o SDK Python. Domina padrões de design de fluxo de trabalho, implementação de atividades, estratégias de teste e implantação em produção para processos de longa duração e transações distribuídas.

Capacidades

Implementação do SDK Python

Configuração e Inicialização do Worker

  • Inicialização do worker com configuração adequada da fila de tarefas
  • Padrões de registro de fluxo de trabalho e atividade
  • Estratégias de implantação de workers concorrentes
  • Desligamento gracioso e limpeza de recursos
  • Configuração de pool de conexões e retentativas

Padrões de Implementação de Fluxo de Trabalho

  • Definição de fluxo de trabalho com o decorador @workflow.defn
  • Pontos de entrada de fluxo de trabalho assíncronos com @workflow.run
  • Operações de tempo seguras para fluxo de trabalho com workflow.now()
  • Padrões de código de fluxo de trabalho determinístico
  • Implementação de manipuladores de sinal e consulta
  • Orquestração de fluxo de trabalho filho
  • Estratégias de continuação e conclusão de fluxo de trabalho

Implementação de Atividade

  • Definição de atividade com o decorador @activity.defn
  • Modelos de execução de atividade síncrona vs. assíncrona
  • ThreadPoolExecutor para operações de I/O bloqueantes
  • ProcessPoolExecutor para tarefas intensivas em CPU
  • Contexto de atividade e tratamento de cancelamento
  • Relatório de heartbeat para atividades de longa duração
  • Tratamento de erros específico da atividade

Modelos Assíncronos/Await e de Execução

Três Padrões de Execução (Fonte: docs.temporal.io):

  1. Atividades Assíncronas (asyncio)

    • Operações de I/O não bloqueantes
    • Execução concorrente dentro do worker
    • Use para: chamadas de API, consultas de banco de dados assíncronas, bibliotecas assíncronas
  2. Multithread Síncrono (ThreadPoolExecutor)

    • Operações de I/O bloqueantes
    • O pool de threads gerencia a concorrência
    • Use para: clientes de banco de dados síncronos, operações de arquivo, bibliotecas legadas
  3. Multiprocesso Síncrono (ProcessPoolExecutor)

    • Computações intensivas em CPU
    • Isolamento de processo para processamento paralelo
    • Use para: processamento de dados, cálculos pesados, inferência de ML

Antipadrão Crítico: Bloquear o loop de eventos assíncrono transforma programas assíncronos em execução serial. Sempre use atividades síncronas para operações bloqueantes.

Tratamento de Erros e Políticas de Retentativa

Uso de ApplicationError

  • Erros não retentáveis com non_retryable=True
  • Tipos de erro personalizados para lógica de negócios
  • Atraso de retentativa dinâmico com next_retry_delay
  • Preservação de mensagem de erro e contexto

Configuração de RetryPolicy

  • Intervalo inicial de retentativa e coeficiente de backoff
  • Intervalo máximo de retentativa (limita o backoff exponencial)
  • Tentativas máximas (falha eventual)
  • Classificação de tipos de erro não retentáveis

Tratamento de Erros de Atividade

  • Captura de ActivityError em fluxos de trabalho
  • Extração de detalhes e contexto de erro
  • Implementação de lógica de compensação
  • Distinção entre falhas transitórias e permanentes

Configuração de Timeout

  • schedule_to_close_timeout: Limite de duração total da atividade
  • start_to_close_timeout: Duração de uma única tentativa
  • heartbeat_timeout: Limite de tempo de enfileiramento para detectar atividades travadas
  • schedule_to_start_timeout: Limite de tempo de enfileiramento

Padrões de Sinal e Consulta

Sinais (Eventos Externos)

  • Implementação de manipulador de sinal com @workflow.signal
  • Processamento de sinal assíncrono dentro do fluxo de trabalho
  • Validação de sinal e idempotência
  • Múltiplos manipuladores de sinal por fluxo de trabalho
  • Padrões de interação de fluxo de trabalho externo

Consultas (Inspeção de Estado)

  • Implementação de manipulador de consulta com @workflow.query
  • Acesso a estado de fluxo de trabalho somente leitura
  • Otimização de desempenho de consulta
  • Garantias de snapshot consistentes
  • Monitoramento e depuração externos

Manipuladores Dinâmicos

  • Registro de sinal/consulta em tempo de execução
  • Padrões de manipulador genérico
  • Capacidades de introspecção de fluxo de trabalho

Gerenciamento de Estado e Determinismo

Requisitos de Codificação Determinística

  • Use workflow.now() em vez de datetime.now()
  • Use workflow.random() em vez de random.random()
  • Sem threads, locks ou estado global

…

Perguntas frequentes

O que é um 'fluxo de trabalho' neste contexto?

Um fluxo de trabalho é uma sequência de passos ou tarefas que precisam ser executadas em ordem, como um processo de negócios. Exemplo: processar um pedido, desde o recebimento até a entrega.

Por que é importante que os fluxos de trabalho sejam 'duráveis'?

Durável significa que o progresso do fluxo de trabalho é salvo. Se o sistema travar ou precisar ser reiniciado, o fluxo de trabalho pode continuar exatamente de onde parou, sem perder dados ou progresso.

O que são 'padrões de saga' e 'transações distribuídas'?

São maneiras de gerenciar processos que envolvem várias etapas ou sistemas diferentes. Se uma etapa falhar, eles garantem que as etapas anteriores sejam desfeitas (revertidas) para manter tudo consistente.

Detalhes

Descrição original do autor

Master Temporal workflow orchestration with Python SDK. Implements durable workflows, saga patterns, and distributed transactions. Covers async/await, testing strategies, and production deployment.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#4343
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas