Habilidades Temporal Python Pro
📦

Temporal Python Pro

Seguro

Crear Flujos de Trabajo Durables con Temporal Python SDK

Crear sistemas distribuidos confiables es complejo. Esta habilidad proporciona orientación experta sobre Temporal Python SDK para orquestación durable de flujos de trabajo, manejo de errores y despliegue en producción.

Soporta: Claude Codex Code(CC)
📊 69 Adecuado
1

Descargar el ZIP de la skill

2

Subir en Claude

Ve a Configuración → Capacidades → Skills → Subir skill

3

Activa y empieza a usar

Pruébalo

Usando "Temporal Python Pro". Create a workflow for order fulfillment

Resultado esperado:

Define un flujo de trabajo con @workflow.defn, implementa actividades validate_order, charge_payment y send_confirmation con políticas de reintentos adecuadas y configuración de tiempos de espera

Usando "Temporal Python Pro". Handle payment failure with compensation

Resultado esperado:

Muestra el patrón try/except que captura ActivityError, implementando la actividad de compensación refund_payment y emitiendo eventos de cancelación del flujo de trabajo

Auditoría de seguridad

Seguro
v1 • 2/25/2026

Static analysis scanned 0 files with 0 lines. Risk score is 0/100. No suspicious patterns detected. This is a prompt-only skill providing guidance on Temporal Python SDK usage without executable code. Safe for publication.

0
Archivos escaneados
0
Líneas analizadas
0
hallazgos
1
Auditorías totales
No se encontraron problemas de seguridad
Auditado por: claude

Puntuación de calidad

38
Arquitectura
100
Mantenibilidad
87
Contenido
31
Comunidad
100
Seguridad
74
Cumplimiento de la especificación

Lo que puedes crear

Orquestación de Microservicios

Coordinar transacciones distribuidas entre múltiples servicios usando patrones saga con lógica de compensación.

Procesos de Negocio de Larga Duración

Implementar flujos de trabajo que abarcan desde horas hasta años con persistencia automática de estado y recuperación.

Tuberías de Procesamiento de Datos

Crear flujos de trabajo de transformación de datos multifase con procesamiento paralelo por lotes y manejo de errores.

Prueba estos prompts

Configuración Básica de Flujos de Trabajo
Ayúdame a crear un flujo de trabajo básico de Temporal en Python que procese pedidos de usuarios. Necesito validar el pedido, cobrar el pago y enviar un correo de confirmación. Muéstrame la definición del flujo de trabajo y las implementaciones de actividades.
Configuración de Política de Reintentos
Necesito configurar políticas de reintentos para una actividad que llama a una API externa con límites de tasa. La API permite 100 solicitudes por minuto y puede devolver errores 429. ¿Qué configuración de política de reintentos debería usar?
Implementación de Manejador de Señales
¿Cómo implemento un manejador de señales que permita a los usuarios cancelar un flujo de trabajo en ejecución? Muéstrame cómo validar la señal, manejar la cancelación de manera graceful y emitir actividades de compensación.
Estrategia de Pruebas en Producción
Necesito probar un flujo de trabajo que abarca 30 días usando salto de tiempo. Crea una prueba que valide que el flujo de trabajo completa todas las actividades en el orden correcto y maneja escenarios de tiempo de espera.

Mejores prácticas

  • Mantén los flujos de trabajo enfocados en la lógica de orquestación; mueve todas las llamadas externas a actividades
  • Usa workflow.now() y workflow.random() en lugar de los módulos datetime y random para determinismo
  • Implementa actividades idempotentes para garantizar reintentos seguros en fallas transitorias
  • Configura tiempos de espera apropiados: schedule_to_close para duración total, start_to_close para intentos individuales
  • Usa el entorno de prueba con salto de tiempo para retroalimentación rápida en flujos de trabajo de larga duración

Evitar

  • Usar datetime.now() o random.random() directamente en el código del flujo de trabajo rompe el determinismo
  • Hacer llamadas directas a API desde flujos de trabajo en lugar de usar actividades
  • No manejar ActivityError en flujos de trabajo, perdiendo la capacidad de implementar compensación
  • Bloquear el event loop asíncrono con código síncrono en actividades asíncronas
  • Exceder los límites de tamaño de payload de 2MB al pasar datos grandes entre actividades

Preguntas frecuentes

¿Cuál es la diferencia entre un flujo de trabajo y una actividad en Temporal?
Los flujos de trabajo definen la lógica de orquestación y deben ser deterministas. Las actividades realizan operaciones externas como llamadas a API o consultas a bases de datos. Los flujos de trabajo llaman a actividades, que manejan el trabajo real.
¿Cómo pruebo flujos de trabajo que se ejecutan durante días o semanas?
Usa el WorkflowEnvironment con salto de tiempo habilitado. Esto ejecuta las llamadas workflow.sleep() instantáneamente, permitiéndote probar flujos de trabajo de un mes en segundos durante las pruebas unitarias.
¿Puedo actualizar el código del flujo de trabajo después del despliegue?
Sí, pero debes mantener el determinismo para los flujos de trabajo existentes en ejecución. Usa workflow.get_version() para manejar cambios de código de manera graceful y prueba con reproducción contra históricos de producción.
¿Qué sucede cuando una actividad falla?
Temporal reintenta automáticamente basándose en tu configuración de RetryPolicy. Puedes especificar el intervalo inicial, el coeficiente de retroceso, el número máximo de intentos y marcar ciertos tipos de errores como no reintentables.
¿En qué se diferencian las señales de las consultas?
Las señales permiten que sistemas externos envíen eventos que modifican el estado del flujo de trabajo. Las consultas proporcionan acceso de solo lectura al estado del flujo de trabajo para monitoreo. Las señales pueden cambiar el estado; las consultas no.
¿Qué modelo de ejecución debo usar para las actividades?
Usa actividades asíncronas para I/O no bloqueante, ThreadPoolExecutor para I/O síncrona bloqueante, y ProcessPoolExecutor para tareas intensivas en CPU. Nunca bloquees el event loop asíncrono.

Detalles del desarrollador

Estructura de archivos

📄 SKILL.md