Activities - .NET SDK
Activity Definitions, Activity Execution, Timeouts, Standalone Activities, Dynamic Activities, and benign exceptions in the Temporal .NET SDK.
Activity Definitions, Activity Execution, Timeouts, Standalone Activities, Dynamic Activities, and benign exceptions in the Temporal .NET SDK.
Activity Definitions, Activity Execution, Timeouts, Standalone Activities, Dynamic Activities, and benign exceptions in the Temporal Go SDK.
Activity Definitions, Activity Execution, Timeouts, Standalone Activities, and benign exceptions in the Temporal Java SDK.
Activity Definitions, Activity Execution, Activity Timeouts, and Asynchronous Activity Completion in the Temporal PHP SDK.
Activity Definitions, Activity Execution, Timeouts, Standalone Activities, and benign exceptions in the Temporal Python SDK.
Activity Definitions, Activity Execution, Timeouts, Standalone Activities, Dynamic Activities, and benign exceptions in the Temporal Ruby SDK.
Activity Definitions, Activity Execution, and Activity Timeouts in the Temporal Rust SDK, including Retry Policies and Heartbeats.
Activity Definitions, Activity Execution, Timeouts, Standalone Activities, and benign exceptions in the Temporal TypeScript SDK.
Define an Activity as a .NET method with the Activity attribute, give it a custom name, and keep argument Payloads inside the 2 MB and 4 MB gRPC limits.
An Activity Definition in Go is an exportable function or struct method. Set its parameters, return values, and a custom Activity Type name.
Implement an Activity behind an annotated Java interface, define its parameters and return values, and control Activity Type names with prefixes.
Implement an Activity behind a PHP interface, define its parameters and return values, and set a custom name for the Activity Type.
Define an Activity with the activity.defn decorator, pass a single dataclass parameter, return serializable data, and set a custom Activity Type.
Define an Activity as a class that extends Temporalio::Activity::Definition, name it, and pick the executor that controls Activity concurrency.
Define an Activity as a Rust function, set its parameters and serializable return values, and give its Activity Type a custom name.
Export an Activity as an async TypeScript function, type its parameters and return value, and share dependencies through dependency injection.
Learn how to define a Temporal Activity; Activity Types, parameters, constraints, idempotency, and retry behavior for the function your Worker runs.
Learn how to start an Activity as a durable Activity Execution with built-in retries, timeouts, and failure handling.
Call an Activity from a .NET Workflow with ExecuteActivityAsync, set the required Schedule-To-Close or Start-To-Close Timeout, and await the result.
Call an Activity from a Go Workflow with workflow.ExecuteActivity, set the required Timeout, and look up every ActivityOptions field in one table.
Invoke Activities synchronously or asynchronously from a Java Workflow, set ActivityOptions and Timeouts, and read the ActivityExecutionContext.
Call an Activity from a PHP Workflow through a stub created with newActivityStub, set the required Timeout, and get the Activity result.
Call an Activity from a Python Workflow with workflow.execute_activity, set the required Timeout, and await the Activity result.
Call an Activity from a Ruby Workflow with Temporalio::Workflow.execute_activity and set the required Schedule-To-Close or Start-To-Close Timeout.
Call an Activity from a Rust Workflow with ctx.execute_activity, set the required Timeout, and await the Future it returns.
Call an Activity from a TypeScript Workflow through proxyActivities, set the required Timeout, and keep Activity inputs and results small.
Learn how to manage a running Activity Execution with commands to Pause, Unpause, Reset, Update Options, Request Cancel, Terminate, and Delete.
Set Activity Timeouts and a Retry Policy with the Temporal .NET SDK, override the next retry delay, and Heartbeat long-running Activities.
Set the Schedule-To-Close, Start-To-Close, and Heartbeat Timeouts on a Go Activity, tune its Retry Policy, and override the next retry delay.
Set the Schedule-To-Close, Start-To-Close, and Heartbeat Timeouts on a Java Activity, tune its Retry Policy, and override the next retry delay.
Set the Schedule-To-Close, Start-To-Close, and Heartbeat Timeouts on a PHP Activity, tune its Retry Policy, and override the next retry delay.
Set the Schedule-To-Close, Start-To-Close, and Heartbeat Timeouts on a Python Activity, tune its Retry Policy, and override the next retry delay.
Set the Schedule-To-Close, Start-To-Close, and Heartbeat Timeouts on a Ruby Activity, tune its Retry Policy, and override the next retry delay.
Set the Schedule-To-Close, Start-To-Close, and Heartbeat Timeouts on a Rust Activity, tune its Retry Policy, and override the next retry delay.
Set the Schedule-To-Close, Start-To-Close, and Heartbeat Timeouts on a TypeScript Activity, tune its Retry Policy, and override the next retry delay.
Asynchronously complete an Activity in Temporal by enabling the Activity Function to return before the Activity Execution finishes, using AsyncCompletionClient.
Asynchronously complete an Activity in Temporal. Follow simple steps to allow an Activity Function to return without the Activity Execution completing.
Asynchronous Activity Completion lets the Activity Function return without finishing Activity Execution. Use Task Tokens and Temporal Client to complete the Activity externally.
Asynchronously complete an Activity in a Workflow with Temporal. Follow steps to provide identifying information, use Temporal Client, and set the complete() method.
Perform Asynchronous Activity Completion in Temporal, enabling Activities to return without execution completion and facilitating parallel operations in Workflows.
Asynchronously complete an Activity using the Temporal Python SDK. Follow three steps for Activity completion and use the Temporal Client for Heartbeat and updates.
Asynchronously complete an Activity in Temporal using the Ruby SDK. Follow simple steps to allow an Activity Function to return without the Activity Execution completing.
Mark expected or non-severe Activity errors as benign in .NET to reduce noise in logs, metrics, and OpenTelemetry traces.
Mark expected or non-severe Activity errors as benign in Go to reduce noise in logs, metrics, and OpenTelemetry traces.
Mark expected or non-severe Activity errors as benign in Java to reduce noise in logs, metrics, and OpenTelemetry traces.
Mark expected or non-severe Activity errors as benign in Python to reduce noise in logs, metrics, and OpenTelemetry traces.
Mark expected or non-severe Activity errors as benign in Ruby to reduce noise in logs, metrics, and OpenTelemetry traces.
Mark expected or non-severe Activity errors as benign in TypeScript to reduce noise in logs, metrics, and OpenTelemetry traces.
Stop a Workflow already in progress, either by asking it to unwind the work it has done or by closing it outright when it can't respond.
Cancellation asks a Workflow to stop and run cleanup. Termination stops it immediately without cleanup. Compare the two and what each records.
Use Temporal Workflow IDs to build a durable, safe locking system for your shared resources.
Discover Temporal's Workflow, Activity, and Worker framework; orchestrate steps, encapsulate business logic, and execute code efficiently using the Temporal SDK in your favorite language.
Terminate a Standalone Activity Execution if it's still running, then remove its record from the Temporal Service asynchronously.
Understand Activity Execution timeouts in Temporal; Schedule-To-Start, Start-To-Close, Schedule-To-Close, and Activity Heartbeats, for effective Workflow management.
Register one Dynamic Activity per Worker with activity_dynamic to handle Activity Types that match no other registered Activity.
Register one Dynamic Activity per Worker with Activity(Dynamic = true) to handle Activity Types that match no other registered Activity.
Register one Dynamic Activity per Worker with RegisterDynamicActivity to handle Activity Types that match no other registered Activity.
Extends Early Return by running Phase 1 as Local Activities, so the client's first response comes from in-process work, not a server call.
Handle errors with Temporal .NET SDK
Catch the right exception types, wrap checked exceptions, and inspect failures correctly in Temporal Java Workflows and Activities.
Learn how to handle errors in Temporal Python applications with retry policies, idempotent Activities, and recovery patterns.
Handle errors with Temporal Ruby SDK
Discover how Temporal uses the Event History to recreate a Workflow's state in the case of failure, such as a Worker crash, and how it uses replay to restore the Workflow's state to the point of failure.
Discover how Temporal uses the Event History to recreate a Workflow's state in the case of failure, such as a Worker crash, and how it uses replay to restore the Workflow's state to the point of failure.
Discover how Temporal uses the Event History to recreate a Workflow's state in the case of failure, such as a Worker crash, and how it uses replay to restore the Workflow's state to the point of failure.
Discover how Temporal uses the Event History to recreate a Workflow's state in the case of failure, such as a Worker crash, and how it uses replay to restore the Workflow's state to the point of failure.
Discover how Temporal uses the Event History to recreate a Workflow's state in the case of failure, such as a Worker crash, and how it uses replay to restore the Workflow's state to the point of failure.
Discover how Temporal uses the Event History to recreate a Workflow's state in the case of failure, such as a Worker crash, and how it uses replay to restore the Workflow's state to the point of failure.
Run background jobs as Standalone Activities with durable retries, timeouts, priority and fairness dispatch, and per-job visibility without a Workflow.
Local Activities run inside the Worker process, skipping server round-trips for short, idempotent Activities on a latency-sensitive path.
Learn about Local Activities that run in the same Worker process as the Workflow that schedules it, trading full durability for lower latency and a smaller Event History.
Long-running Activities report progress via heartbeats and enable resumption after failures with cancellation support.
Handle temporary spikes in usage by dynamically provisioning extra capacity when you need it, and deprovision it when you don't.
Executes multiple Activities concurrently for maximum throughput with error handling and controlled parallelism.
Stop an Activity's retries without closing the Execution, detect a Pause from Activity code, and resume it later with Unpause.
Races multiple Activities in parallel, returns the first completed result, and cancels the remaining Activities using SDK cancellation scopes.
Protect player sessions from backend failures by using the Actor pattern.
Strategies for polling external resources with varying frequencies: frequent, infrequent, and periodic patterns.
Build durable human-in-the-loop Workflows that can recover even if the humans are delayed.
Ask an Activity Execution to close gracefully so your code can clean up, and what to expect when an attempt is already running.
Clear an Activity's retry state and schedule a fresh attempt, including what happens when an attempt is already running.
Manages distributed transactions with compensating actions. Each step has a compensation that undoes its effects if subsequent steps fail.
Execute a Standalone Activity with the Temporal .NET SDK without writing a Workflow.
Execute Activities independently without a Workflow using the Temporal .NET SDK.
Execute Activities independently without a Workflow using the Temporal Go SDK.
Execute Activities independently without a Workflow using the Temporal Java SDK.
Execute Activities independently without a Workflow using the Temporal Python SDK.
Execute Activities independently without a Workflow using the Temporal Ruby SDK.
Execute Activities independently without a Workflow using the Temporal TypeScript SDK.
Execute a Standalone Activity with the Temporal Go SDK without writing a Workflow.
Execute a Standalone Activity with the Temporal Java SDK without writing a Workflow.
Execute a Standalone Activity with the Temporal Python SDK without writing a Workflow.
Execute a Standalone Activity with the Temporal Ruby SDK without writing a Workflow.
Execute a Standalone Activity with the Temporal TypeScript SDK without writing a Workflow.
Learn about durable job processing with Standalone Activities that run independently from a Workflow.
Learn how to use Temporal Activity commands to perform operations on Activity Executions.
Forcefully close a Standalone Activity Execution immediately, with no opportunity for your Activity code to clean up first.
Detect Workflow and Activity failures with timeouts, then mitigate them with automatic retries. Configuration guides for every Temporal SDK.
How to run a customer loyalty program with durable Workflows provided by Temporal
Resume a Paused Activity Execution so its next attempt starts immediately, with options to reset retry state as it resumes.
Change an Activity's timeouts, Retry Policy, or Task Queue while it runs, without restarting the Execution or losing retry state.
Visualize Activity Execution times, experiment with timeouts, Retry Policies, and simulate scenarios with our tool. Configure retries and see their impact on success or failure.
Learn how Temporal turns a plain function you write into a Temporal Activity and durably executes it as a Workflow step or background job.
Optimize your Workflow and Activity Task Executions with a custom Retry Policy on Temporal. Understand default retries, intervals, backoff, and maximum attempts for error handling.
Learn about Activities started as a step in a Workflow, scoped to that Workflow's lifetime and recorded in Workflow Event History.
Optimize Workflow Execution with Temporal .NET SDK - Set Workflow Timeouts and Retry Policies efficiently.
Optimize Workflow Execution with Temporal Go SDK - Set Workflow Timeouts and Retry Policies efficiently.
Optimize Workflow Execution with Temporal Java SDK - Set Workflow Timeouts and Retry Policies efficiently.
Optimize Workflow Execution with Temporal PHP SDK - Set Workflow Timeouts and Retry Policies efficiently.
Optimize Workflow Execution with Temporal Python SDK - Set Workflow Timeouts and Retry Policies efficiently.
Optimize Workflow Execution with Temporal Ruby SDK - Set Workflow Timeouts and Retry Policies efficiently.
Optimize Workflow Execution with the Temporal Rust SDK by configuring Workflow Timeouts and Retry Policies.
Optimize Workflow Execution with Temporal TypeScript SDK - Set Workflow Timeouts and Retry Policies efficiently.