dbos-python
Ajuda seu agente a desenvolver aplicações Python robustas usando DBOS. Facilita a criação de fluxos de trabalho confiáveis e o gerenciamento de tarefas.
O que ela faz
Este guia ajuda a criar programas em Python que não falham facilmente, usando uma ferramenta chamada DBOS. Ele ensina como organizar o código para que ele funcione de forma confiável, mesmo que algo dê errado.
Quando usar
- ✓Ao adicionar o DBOS a um código Python que já existe.
- ✓Ao criar novas partes do programa (fluxos de trabalho e passos).
- ✓Ao usar filas para controlar quantas tarefas rodam ao mesmo tempo.
Exemplo do que pedir para a IA
“Como eu configuro o DBOS no meu programa Python?”
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
Mensagem pronta para colar
Como funciona
O DBOS funciona organizando seu código em 'fluxos de trabalho' e 'passos'. Os passos lidam com tarefas que podem falhar ou demorar, enquanto os fluxos de trabalho orquestram esses passos de forma confiável.
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 dbos-pythonOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/dbos-python/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Melhores Práticas do DBOS Python
Guia para construir aplicações Python confiáveis e tolerantes a falhas com fluxos de trabalho duráveis do DBOS.
Quando Usar
Consulte estas diretrizes quando:
- Adicionar DBOS a código Python existente
- Criar fluxos de trabalho e etapas
- Usar filas para controle de concorrência
- Implementar comunicação de fluxo de trabalho (eventos, mensagens, streams)
- Configurar e iniciar aplicações DBOS
- Usar DBOSClient de aplicações externas
- Testar aplicações DBOS
Categorias de Regras por Prioridade
| Prioridade | Categoria | Impacto | Prefixo |
|---|---|---|---|
| 1 | Ciclo de Vida | CRÍTICO | lifecycle- |
| 2 | Fluxo de Trabalho | CRÍTICO | workflow- |
| 3 | Etapa | ALTO | step- |
| 4 | Fila | ALTO | queue- |
| 5 | Comunicação | MÉDIO | comm- |
| 6 | Padrão | MÉDIO | pattern- |
| 7 | Teste | BAIXO-MÉDIO | test- |
| 8 | Cliente | MÉDIO | client- |
| 9 | Avançado | BAIXO | advanced- |
Regras Críticas
Configuração e Lançamento do DBOS
Uma aplicação DBOS DEVE configurar e lançar o DBOS dentro de sua função principal:
import os
from dbos import DBOS, DBOSConfig
@DBOS.workflow()
def my_workflow():
pass
if __name__ == "__main__":
config: DBOSConfig = {
"name": "my-app",
"system_database_url": os.environ.get("DBOS_SYSTEM_DATABASE_URL"),
}
DBOS(config=config)
DBOS.launch()
Estrutura de Fluxo de Trabalho e Etapa
Fluxos de trabalho são compostos por etapas. Qualquer função que execute operações complexas ou acesse serviços externos deve ser uma etapa:
@DBOS.step()
def call_external_api():
return requests.get("https://api.example.com").json()
@DBOS.workflow()
def my_workflow():
result = call_external_api()
return result
Restrições Chave
- NÃO chame
DBOS.start_workflowouDBOS.recvde uma etapa - NÃO use threads para iniciar fluxos de trabalho - use
DBOS.start_workflowou filas - Fluxos de trabalho DEVEM ser determinísticos - operações não determinísticas vão para etapas
- NÃO crie/atualize variáveis globais de fluxos de trabalho ou etapas
Como Usar
Leia os arquivos de regras individuais para explicações detalhadas e exemplos:
references/lifecycle-config.md
references/workflow-determinism.md
references/queue-concurrency.md
Referências
Limitações
- Use esta habilidade apenas quando a tarefa corresponder claramente ao escopo descrito acima.
- Não trate a saída como substituta para validação específica do ambiente, testes ou revisão de especialistas.
- Pare e peça esclarecimentos se os inputs necessários, permissões, limites de segurança ou critérios de sucesso estiverem ausentes.
Perguntas frequentes
O que são fluxos de trabalho e passos?
Fluxos de trabalho são sequências de ações que o programa executa. Passos são partes menores dentro de um fluxo de trabalho que realizam tarefas específicas, como chamar um serviço externo.
Por que meu código precisa ser confiável?
Programas confiáveis continuam funcionando mesmo se houver erros ou falhas, garantindo que as tarefas sejam concluídas sem interrupções.
O que são filas para controle de concorrência?
Filas ajudam a gerenciar quantas tarefas seu programa executa ao mesmo tempo, evitando sobrecarga e garantindo que tudo funcione de maneira organizada.
Detalhes
Descrição original do autor
Guide for building reliable, fault-tolerant Python applications with DBOS durable workflows. Use when adding DBOS to existing Python code, creating workflows and steps, or using queues for concurrency control.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2729
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC