# Temporal

> Durable execution: code that survives the process it runs in

Temporal is an MIT-licensed durable execution platform: workflows are ordinary code in one of eight SDK languages, and the service persists every step so a function can keep running across crashes, restarts, and deploys for minutes or for months.

Website: https://temporal.io

## Use it when

- The workflow is really a long-running distributed application: multi-step processes that must survive crashes, deploys, and month-long waits.
- Each activity must complete observably exactly once, with a replayable event history behind it.
- Teams work in multiple languages; SDKs cover Go, Java, Python, TypeScript, .NET, PHP, Ruby, and Rust.
- Human approvals, signals, and updates to running workflows are normal, not exceptional.

## Think twice when

- The need is a pipeline scheduler with connectors and data awareness; Temporal has no catalog, no assets, and every integration is code you write.
- Nobody can operate the service plus its persistence store and Elasticsearch-backed visibility at scale; self-hosting is genuinely involved.
- Payload limits bite: 2MB per payload and a capped event history, so large data must live elsewhere and pass by reference.

## How it runs

You run workers; the Temporal service persists every event and replays state after failures, self-hosted over PostgreSQL or MySQL, or as Temporal Cloud from $100 a month billed on Actions and storage. Schedules cover time-based starts; anything event-driven is a service you write calling the API. Activities retry until complete and must be idempotent.

## Details

### General

| Attribute | Value |
| --- | --- |
| License | Open source (permissive) |
| SPDX identifier | MIT |
| Deployment | Self-hosted, Managed |
| Workload | Batch |
| Operational complexity | High |
| Pricing | Free, Subscription |
| Language | Go |
| Repository | https://github.com/temporalio/temporal |
| Documentation | https://docs.temporal.io |
| Stars | 23.2k |

### Workflow Orchestration

| Attribute | Value |
| --- | --- |
| Authoring model | Code in the host language, SDKs for Go, Java, Python, TypeScript, .NET, PHP, Ruby and Rust |
| Task languages | The same eight SDKs, and not necessarily the one the workflow is written in, an activity can be implemented by a worker in another language, routed by giving it its own task queue. Seven are GA; Rust is still pre-release |
| Unit of work | A workflow execution (durable code that runs for minutes or months) made of activities, the only parts allowed to touch the outside world; child workflows nest them, and signals, queries and updates talk to one while it runs |
| Passing data | Arguments and return values are payloads serialised by a pluggable data converter, JSON by default, and travel inside the event history rather than a store, so the limits bind: 2MB a payload, 4MB a gRPC message, 50MB or 51,200 events a history, warning at 256KB. Custom codecs add encryption or compression |
| Triggers | A client calling start, and Schedules for time, calendar or interval specs, an overlap policy, a catchup window defaulting to a year, and pause. Nothing event-driven exists in the platform, so a webhook means writing the service that receives it |
| Connectors | None: an activity is code you write, so the integration is whatever client library you import; Nexus connects Temporal namespaces to each other, not to outside systems |
| Where tasks run | Workers you run yourself, connected to a service that holds the event history |
| Delivery guarantee | Activities are at-least-once and must be idempotent; retried until observed complete exactly once |
| Caching and reruns | No result cache and no rerun-from-failure, because the event history makes both moot, a completed activity is never executed twice, and workers keep hot executions in an LRU sticky cache to skip replay altogether. A rerun is a reset to a chosen event, copying history to that point and continuing with current code; continue-as-new keeps a long history off the limits |
| Billing unit | Free to self-host. Cloud bills Actions plus storage (active at $0.042 a GB-hour against retained at $0.00105) charged as the greater of a plan floor or 5–10% of usage, from $100 a month for Essentials, with Actions volume-tiered from $50 down to $25 a million |

## Capabilities

- [Workflow Orchestration](https://matca.io/capabilities/workflow-orchestration)

---

Source: https://matca.io/temporal
Last updated: 2026-08-31T11:40:47.148Z
