diff --git a/docs/develop/dotnet/child-workflows.mdx b/docs/develop/dotnet/child-workflows.mdx index feb6469f91..3589c62243 100644 --- a/docs/develop/dotnet/child-workflows.mdx +++ b/docs/develop/dotnet/child-workflows.mdx @@ -29,10 +29,19 @@ tags: - Child Workflows --- -This page shows how to do the following: - -- [Start a Child Workflow Execution](#child-workflows) -- [Set a Parent Close Policy](#parent-close-policy) +
Use the essential components of a Temporal Application (Workflows, Activities, and Workers) to build and run a Temporal application.
+Connect to a Temporal Service and start a Workflow Execution.
+Set up the testing suite and test Workflows and Activities.
+Explore how your application can detect failures using timeouts and automatically attempt to mitigate them with retries.
+Send messages to and read the state of Workflow Executions.
+Interrupt a Workflow Execution with a Cancel or Terminate action.
+Complete Activities asynchronously.
+Change Workflow Definitions without causing non-deterministic behavior in current long-running Workflows.
+Configure and use the Temporal Observability APIs.
+Explore various ways to debug your application.
+Run Workflows on a schedule and delay the start of a Workflow.
+Use compression, encryption, and other data handling by implementing custom converters and codecs.
+Use Timers to make a Workflow Execution pause or "sleep" for seconds, minutes, days, months, or years.
+Explore how to spawn a Child Workflow Execution and handle Child Workflow Events.
+Continue the Workflow Execution with a new Workflow Execution using the same Workflow ID.
+The .NET SDK requires .NET 6.0 or later.
+Install .NET by following the official .NET instructions.
+ > +}> +## Install .NET + +The .NET SDK requires .NET 6.0 or later. +Install .NET by following the [official .NET instructions](https://dotnet.microsoft.com/download/dotnet/6.0). +macOS
+Using Homebrew:
+Or using curl:
+Linux
+Windows
++ The Temporal Web UI may be on a different port in some examples or tutorials. + To change the port for the Web UI, use the --ui-port option when starting the server: +
++ The Temporal Web UI will now be available at http://localhost:8080. +
+Create an Activity file (MyActivities.cs):
+Create a Workflow file (SayHelloWorkflow.cs):
+Create a Worker file (Program.cs):
+Run the Worker:
+With the worker running, you can start a workflow in two ways:
+Open a new terminal and run:
+Create a separate file called `Client.cs` for a more programmatic approach:
+Then run: dotnet run Client.cs
If everything is working correctly, you should see:
+Workflow result: Hello, Temporal!
Learn how to create a basic Workflow and run it with the Temporal .NET SDK
+Use the essential components of a Temporal Application (Workflows, Activities, and Workers) to build and run a Temporal application.
+Connect to a Temporal Service and start a Workflow Execution.
+Set up the testing suite and test Workflows and Activities.
+Explore how your application can detect failures using timeouts and automatically attempt to mitigate them with retries.
+Send messages to and read the state of Workflow Executions.
+Interrupt a Workflow Execution with a Cancel or Terminate action.
+Change Workflow Definitions without causing non-deterministic behavior in current long-running Workflows.
+Configure and use the Temporal Observability APIs.
+Explore various ways to debug your application.
+Run Workflows on a schedule and delay the start of a Workflow.
+Use compression, encryption, and other data handling by implementing custom converters and codecs.
+Use Temporal Nexus to connect durable executions within and across Namespaces.
+Use Timers to make a Workflow Execution pause or "sleep" for seconds, minutes, days, months, or years.
+Explore how to spawn a Child Workflow Execution and handle Child Workflow Events.
+Continue the Workflow Execution with a new Workflow Execution using the same Workflow ID.
+Use Worker Session APIs.
+Use Side Effects in Workflows.
+Create and manage Namespaces.
+The Temporal Web UI may be on a different port in some examples or tutorials. To change the port for the Web UI, use the --ui-port
option when starting the server:
The Temporal Web UI will now be available at http://localhost:8080.
+temporal server start-dev
command uses an in-memory database, so stopping the server will erase all your Workflows and all your Task Queues. If you want to retain those between runs, start the server and specify a database filename using the --db-filename
option, like this:
+Learn how to create a basic Workflow and run it with the Temporal Go SDK
+Use the essential components of a Temporal Application (Workflows, Activities, and Workers) to build and run a Temporal application.
+Connect to a Temporal Service and start a Workflow Execution.
+Set up the testing suite and test Workflows and Activities.
+Explore how your application can detect failures using timeouts and automatically attempt to mitigate them with retries.
+Send messages to and read the state of Workflow Executions.
+Complete Activities asynchronously.
+Change Workflow Definitions without causing non-deterministic behavior in current long-running Workflows.
+Configure and use the Temporal Observability APIs.
+Explore various ways to debug your application.
+Run Workflows on a schedule and delay the start of a Workflow.
+Use compression, encryption, and other data handling by implementing custom converters and codecs.
+Use Temporal Nexus to connect Durable Executions within and across Namespaces using a Nexus Endpoint, a Nexus Service contract, and Nexus Operations.
+Explore how to spawn a Child Workflow Execution and handle Child Workflow Events.
+Continue the Workflow Execution with a new Workflow Execution using the same Workflow ID.
+Use Timers to make a Workflow Execution pause or "sleep" for seconds, minutes, days, months, or years.
+Use Side Effects in Workflows.
+Create and manage Namespaces.
+java -version
at a command prompt. We developed and tested these Java tutorials with Java 21, but they should work with version 8 or higher.
+The Temporal Web UI may be on a different port in some examples or tutorials. To change the port for the Web UI, use the --ui-port
option when starting the server:
The Temporal Web UI will now be available at http://localhost:8080.
+temporal server start-dev
command uses an in-memory database, so stopping the server will erase all your Workflows and all your Task Queues. If you want to retain those between runs, start the server and specify a database filename using the --db-filename
option, like this:
+Learn how to create a basic Workflow and run it with the Temporal Java SDK
+Use the essential components of a Temporal Application (Workflows, Activities, and Workers) to build and run a Temporal application.
+Connect to a Temporal Service and start a Workflow Execution.
+Set up the testing suite to test Workflows and Activities.
+Explore how your application can detect failures using timeouts and automatically attempt to mitigate them with retries.
+Send messages to read the state of Workflow Executions.
+Interrupt a Workflow Execution with a Cancel or Terminate action.
+Change Workflow Definitions without causing non-deterministic behavior in current long-running Workflows.
+Complete Activities asynchronously.
+Configure and use the Temporal Observability APIs.
+Explore various ways to debug your application.
+Run Workflows on a schedule and delay the start of a Workflow.
+Use Timers to make a Workflow Execution pause or "sleep" for seconds, minutes, days, months, or years.
+Explore how to spawn a Child Workflow Execution and handle Child Workflow Events.
+Continue the Workflow Execution with a new Workflow Execution using the same Workflow ID.
+Use Side Effects in Workflows.
+See the RoadRunner README file for installation instructions.
+> +}> + +## Download RoadRunner + +See the RoadRunner README file for installation instructions. + +Next, you'll configure a local Temporal Service for development. +The Temporal Web UI may be on a different port in some examples or tutorials. To change the port for the Web UI, use the --ui-port
option when starting the server:
The Temporal Web UI will now be available at http://localhost:8080.
+temporal server start-dev
command uses an in-memory database, so stopping the server will erase all your Workflows and all your Task Queues. If you want to retain those between runs, start the server and specify a database filename using the --db-filename
option, like this:
+Learn how to create a basic Workflow and run it with the Temporal PHP SDK
+Use the essential components of a Temporal Application (Workflows, Activities, and Workers) to build and run a Temporal application.
+Connect to a Temporal Service and start a Workflow Execution.
+Use third-party Python modules without non-deterministic behavior.
+Implement synchronous or asynchronous Activities.
+Set up the testing suite and test Workflows and Activities.
+Explore how your application can detect failures using timeouts and automatically attempt to mitigate them with retries.
+Send messages to and read the state of Workflow Executions.
+Interrupt a Workflow Execution with a Cancel or Terminate action.
+Complete Activities asynchronously.
+Change Workflow Definitions without causing non-deterministic behavior in current long-running Workflows.
+Configure and use the Temporal Observability APIs.
+Explore various ways to debug your application.
+Run Workflows on a schedule and delay the start of a Workflow.
+Use compression, encryption, and other data handling by implementing custom converters and codecs.
+Use Timers to make a Workflow Execution pause or "sleep" for seconds, minutes, days, months, or years.
+Explore how to spawn a Child Workflow Execution and handle Child Workflow Events.
+Continue the Workflow Execution with a new Workflow Execution using the same Workflow ID.
+The Temporal Web UI may be on a different port in some examples or tutorials. To change the port for the Web UI, use the --ui-port
option when starting the server:
The Temporal Web UI will now be available at http://localhost:8080.
+temporal server start-dev
command uses an in-memory database, so stopping the server will erase all your Workflows and all your Task Queues. If you want to retain those between runs, start the server and specify a database filename using the --db-filename
option, like this:
+Learn how to create a basic Workflow and run it with the Temporal Python SDK
+Use the essential components of a Temporal Application (Workflows, Activities, and Workers) to build and run a Temporal application.
+Connect to a Temporal Service and start a Workflow Execution.
+Set up the testing suite and test Workflows and Activities.
+Explore how your application can detect failures using timeouts and automatically attempt to mitigate them with retries.
+Send messages to and read the state of Workflow Executions.
+Interrupt a Workflow Execution with a Cancel or Terminate action.
+Complete Activities asynchronously.
+Change Workflow Definitions without causing non-deterministic behavior in current long-running Workflows.
+Configure and use the Temporal Observability APIs.
+Explore various ways to debug your application.
+Run Workflows on a schedule and delay the start of a Workflow.
+Use compression, encryption, and other data handling by implementing custom converters and codecs.
+Use Timers to make a Workflow Execution pause or "sleep" for seconds, minutes, days, months, or years.
+Explore how to spawn a Child Workflow Execution and handle Child Workflow Events.
+Continue the Workflow Execution with a new Workflow Execution using the same Workflow ID.
+Manage inbound and outbound SDK calls, enhance tracing, and add authorization to your Workflows and Activities.
+The TypeScript SDK requires Node.js 16 or later.
+Install Node.js via your package manager by following the official Node.js instructions.
+ > +}> +## Install Node.js + +The TypeScript SDK requires Node.js 16 or later. Install Node.js via your package manager by following the official Node.js instructions. +The Temporal Web UI may be on a different port in some examples or tutorials. To change the port for the Web UI, use the --ui-port
option when starting the server:
The Temporal Web UI will now be available at http://localhost:8080.
+temporal server start-dev
command uses an in-memory database, so stopping the server will erase all your Workflows and all your Task Queues. If you want to retain those between runs, start the server and specify a database filename using the --db-filename
option, like this:
+Learn how to create a basic Workflow and run it with the Temporal TypeScript SDK
+Core concepts and overview of the Temporal platform for building reliable distributed applications.
+ Learn more → +Software development kits that provide APIs and tools for building Temporal applications.
+ Learn more → +Durable functions that coordinate Activities and maintain state across failures and restarts.
+ Learn more → +Functions that interact with external systems and can be retried independently of Workflows.
+ Learn more → +Mechanisms for identifying and handling failures in distributed Temporal applications.
+ Learn more → +Processes that execute Workflow and Activity code, polling for tasks from the Temporal Service.
+ Learn more → +Complete record of all events that occurred during a Workflow Execution's lifetime.
+ Learn more → +Communication patterns including Signals, Queries, and Updates for Workflow interactions.
+ Learn more → +Workflows that are started by other Workflows, enabling composition and modularity.
+ Learn more → +Tools and APIs for observing and querying the state of Workflow Executions.
+ Learn more → +The backend service that manages Workflow state, task distribution, and durability.
+ Learn more → +Logical isolation boundaries for organizing Workflows, Activities, and other resources.
+ Learn more → +Service framework for building and operating resilient service APIs with Temporal.
+ Learn more → +Mechanisms for serializing, deserializing, and transforming data in Temporal applications.
+ Learn more → +Workflows, Activities, and Workers form the foundation of every Temporal application.
+ Learn more → +Automatic detection and handling of failures, with timeouts and retry policies.
+ Learn more → +Partition and compose business logic with Child Workflows for scalable throughput.
+ Learn more → +Connect applications and teams across namespaces for modular, secure architectures.
+ Learn more → +Signals, Queries, and Updates enable dynamic, real-time interaction with running Workflows.
+ Learn more → +Powerful debugging tools, including replay debugging and state inspection.
+ Learn more → +Cancel or terminate a Workflow in progress and compensate for completed steps.
+ Learn more → +Comprehensive testing tools for unit, integration, and end-to-end testing.
+ Learn more → +Metrics, tracing, logging, and visibility into your application state.
+ Learn more → +End-to-end encryption for your workflow data, ensuring sensitive information remains secure.
+ Learn more → +Schedule Workflows to run at specific times or intervals, with cron and custom logic support.
+ Learn more → +Automate cloud infrastructure management, including provisioning, scaling, and maintenance tasks.
+ Learn more → +Optimized for low-latency operations, ensuring your workflows run as quickly as possible.
+ Learn more → +Support for multiple tenants in a single Temporal cluster, with isolation and resource management.
+ Learn more → +Handle failures across distributed services with compensating transactions
+Integrate human decision making into automated processes
+Build reliable processes that run for days or months
+Coordinate multiple services and handle failures gracefully
+Schedule and manage recurring tasks with guaranteed execution
+Maintain data consistency across multiple services
+Complete reference for metrics emitted by Temporal SDKs for monitoring and observability.
+ View reference → +Reference guide for Temporal CLI commands and their usage patterns.
+ View reference → +Comprehensive list of all Workflow and Activity events in the Temporal Platform.
+ View reference → +Configuration options and settings for self-hosted Temporal Service deployments.
+ View reference → +Configuration reference for customizing the Temporal Web UI interface.
+ View reference → +Environment variables for configuring Temporal Web UI deployment settings.
+ View reference → +Complete API documentation for the Temporal Go SDK with types, methods, and examples.
+ View API docs → +Comprehensive Javadoc reference for the Temporal Java SDK classes and interfaces.
+ View API docs → +Python SDK API reference with detailed documentation for all modules and functions.
+ View API docs → +TypeScript SDK API documentation with type definitions and usage examples.
+ View API docs → +Complete .NET SDK API reference with C# classes, methods, and code samples.
+ View API docs → +PHP SDK API documentation with detailed class references and usage patterns.
+ View API docs → +Comprehensive glossary of Temporal terms, concepts, and technical definitions.
+ View glossary → +Learn about Temporal Technologies' general security practices, compliance certifications, and organizational security measures.
+Explore the security features of our SaaS offering, including mTLS, end-to-end encryption, and enterprise compliance.
+Discover how to deploy and secure your own Temporal Platform infrastructure with production-ready best practices.
+{description}
+