Temporal: Durable execution platform for workflows
Distributed system for durable workflow execution with automatic failure handling, retries, and state persistence.
Learn more about Temporal
Temporal is a durable execution platform that runs application logic called Workflows in a fault-tolerant manner. The system automatically handles intermittent failures, retries failed operations, and maintains workflow state across process restarts and infrastructure failures. Temporal originated as a fork of Uber's Cadence and is implemented in Go with support for multiple programming languages through SDKs. It is commonly used for microservice orchestration, distributed cron jobs, and complex business process automation.
Durable Execution
Workflows survive process crashes, network failures, and infrastructure outages by persisting execution state. The platform automatically resumes workflows from their last checkpoint without data loss.
Automatic Retry Logic
Built-in retry mechanisms handle transient failures without manual intervention. The system distinguishes between retryable and non-retryable errors to optimize execution flow.
Multi-Language Support
Provides SDKs for multiple programming languages while maintaining workflow portability. Developers can implement workflows and activities in their preferred language ecosystem.
import asyncio
from temporalio import activity, workflow
from temporalio.client import Client
from temporalio.worker import Worker
@activity.defn
async def say_hello(name: str) -> str:
return f"Hello, {name}!"
@workflow.defn
class GreetingWorkflow:
@workflow.run
async def run(self, name: str) -> str:
return await workflow.execute_activity(
say_hello,
name,
schedule_to_close_timeout=timedelta(minutes=5),
)
async def main():
client = await Client.connect("localhost:7233")
async with Worker(
client,
task_queue="greeting-task-queue",
workflows=[GreetingWorkflow],
activities=[say_hello],
):
result = await client.execute_workflow(
GreetingWorkflow.run,
"World",
id="greeting-workflow-001",
task_queue="greeting-task-queue",
)
print(f"Workflow result: {result}")
if __name__ == "__main__":
asyncio.run(main())See how people are using Temporal
Top in Cloud & DevOps
Related Repositories
Discover similar tools and frameworks used by developers
OpenZFS
Enterprise filesystem with volume management, data integrity, snapshots, and compression.
Portainer
Web-based management platform for multi-orchestrator container environments.
Grafana
Query and visualize metrics from multiple data sources.
ProxmoxVE
Bash scripts for automated Proxmox LXC/VM provisioning.
Dockge
Self-hosted Docker Compose manager with real-time terminal streaming.