Temporal is an open-source workflow orchestration platform. It makes your code fault-tolerant by default — retries, timeouts, and state management are built in.
What Is Temporal?
Temporal runs your business logic as durable workflows. If your process crashes, Temporal replays it from the exact point of failure. No more lost state.
Features:
- Durable execution (survives failures)
- Built-in retries and timeouts
- SDKs for Go, Java, Python, TypeScript, .NET
- Temporal Cloud free tier available
- Visual workflow UI
Quick Start
# Install Temporal CLI
curl -sSf https://temporal.download/cli.sh | sh
# Start dev server
temporal server start-dev
Python SDK
from temporalio import workflow, activity
from datetime import timedelta
@activity.defn
async def send_email(to: str, subject: str) -> str:
# Even if this fails, Temporal retries automatically
return f"Email sent to {to}"
@workflow.defn
class OnboardingWorkflow:
@workflow.run
async def run(self, email: str):
# Step 1: Send welcome email
await workflow.execute_activity(
send_email, args=[email, "Welcome!"],
start_to_close_timeout=timedelta(seconds=30)
)
# Step 2: Wait 3 days, then send follow-up
await workflow.sleep(timedelta(days=3))
await workflow.execute_activity(
send_email, args=[email, "How is it going?"],
start_to_close_timeout=timedelta(seconds=30)
)
HTTP API
# Start workflow
curl -X POST http://localhost:7233/api/v1/namespaces/default/workflows \
-H "Content-Type: application/json" \
-d '{"workflow_id":"onboard-1","workflow_type":{"name":"OnboardingWorkflow"},"input":{"payloads":[{"data":"dXNlckBleGFtcGxlLmNvbQ=="}]}}'
Use Cases
- User onboarding — multi-step flows
- Payment processing — saga pattern
- Data pipelines — reliable ETL
- Order fulfillment — e-commerce workflows
- CI/CD — custom deployment pipelines
Need web data at scale? Check out my scraping tools on Apify or email spinov001@gmail.com for custom solutions.
Top comments (0)