How to asynchronously complete an Activity in Go
todo
todo
Configure tracing
todo
Use the `NewClient()` API available in the `go.temporal.io/sdk/client` package to create a new `Client`.
A Query type, also called a Query name, is a `string` value.
A Go-based Workflow Definition must accept `workflow.Context` and may support multiple custom parameters.
A Go-based Workflow Definition can return either just an `error` or a `customValue, error` combination.
Emit metrics
Use the `SetQueryHandler` API to set a Query Handler that listens for a Query by name.
Use the `GetSignalChannel()` API from the `go.temporal.io/sdk/workflow` package to get the Signal Channel.
todo
Configure and track performance metrics for Temporal Cloud.
Use the `WorkflowReplayer` API to replay an existing Workflow Execution from an Event History to replicate errors.
Use the `QueryWorkflow()` API to send a Query to a Workflow in Go.
Use the `SignalWorkflow()` method on an instance of the Go SDK Temporal Client to send a Signal to a Workflow Execution.
A Signal can be sent from within a Workflow to a different Workflow Execution using the `SignalExternalWorkflow` API from the `go.temporal.io/sdk/workflow` package.
Use the `SignalWithStartWorkflow()` API on the Go SDK Temporal Client to start a Workflow Execution (if not already running) and pass it the Signal at the same time.
Set Cluster address
Set Cluster address
Create an instance of `StartWorkflowOptions` from the `go.temporal.io/sdk/client` package, set the `CronSchedule` field, and pass the instance to the `ExecuteWorkflow` call.
Set the Cron Schedule with the `WorkflowStub` instance in the Client code using [`WorkflowOptions.Builder.setCronSchedule`
Set a Cron Scheduler in Python
Set a custom logger
Create an instance of `StartWorkflowOptions` from the `go.temporal.io/sdk/client` package, set the `ID` field, and pass the instance to the `ExecuteWorkflow` call.
Set the Workflow Id with the `WorkflowStub` instance in the Client code using `WorkflowOptions.Builder.setWorkflowId`.
Create an instance of `ActivityOptions` from the `go.temporal.io/sdk/workflow` package, set the `HeartbeatTimeout` field, and then use the `WithActivityOptions()` API to apply the options to the instance of `workflow.Context`.
To set a Heartbeat Timeout, use `ActivityOptions.newBuilder.setHeartbeatTimeout`].
Set the Namespace field on an instance of the Client Options.
Use the setNamespace method on Workflow Client Options Builder.
Set Namespace
Set the Namespace in Workflow Client Options Builder.
Create an instance of `ChildWorkflowOptions` from the `go.temporal.io/sdk/workflow` package, set the `ParentClosePolicy` field, apply the options to the instance of `workflow.Context`, and pass the context to the `ExecuteChildWorkflow` call.
Create an instance of `ChildWorkflowOptions` and use `withParentClosePolicy()` method to apply the options to a new child workflow object.
Create an instance of `ActivityOptions` from the `go.temporal.io/sdk/workflow` package, set the `ScheduleToCloseTimeout` field, and then use the `WithActivityOptions()` API to apply the options to the instance of `workflow.Context`.
To set a Schedule-To-Close Timeout, use `ActivityOptions.newBuilder.setScheduleToCloseTimeout`].
Create an instance of `ActivityOptions` from the `go.temporal.io/sdk/workflow` package, set the `ScheduleToStartTimeout` field, and then use the `WithActivityOptions()` API to apply the options to the instance of `workflow.Context`.
To set a Schedule-To-Start Timeout, use `ActivityOptions.newBuilder.setScheduleToStartTimeout`].
Create an instance of `ActivityOptions` from the `go.temporal.io/sdk/workflow` package, set the `StartToCloseTimeout` field, and then use the `WithActivityOptions()` API to apply the options to the instance of `workflow.Context`.
To set a Start-To-Close Timeout, use `ActivityOptions.newBuilder.setStartToCloseTimeout`].
Create an instance of `StartWorkflowOptions` from the `go.temporal.io/sdk/client` package, set the `WorkflowExecutionTimeout` field, and pass the instance to the `ExecuteWorkflow` call.
Set the Workflow Execution Timeout with the `WorkflowStub` instance in the Client code using `WorkflowOptions.Builder.setWorkflowExecutionTimeout`.
Create an instance of `StartWorkflowOptions` from the `go.temporal.io/sdk/client` package, set the `RetryPolicy` field, and pass the instance to the `ExecuteWorkflow` call.
Create an instance of `StartWorkflowOptions` from the `go.temporal.io/sdk/client` package, set the `WorkflowRunTimeout` field, and pass the instance to the `ExecuteWorkflow` call.
Set the Workflow Run Timeout with the `WorkflowStub` instance in the Client code using `WorkflowOptions.Builder.setWorkflowRunTimeout`.
Create an instance of `StartWorkflowOptions` from the `go.temporal.io/sdk/client` package, set the `WorkflowTaskTimeout` field, and pass the instance to the `ExecuteWorkflow` call.
Set the Workflow Task Timeout with the `WorkflowStub` instance in the Client code using `WorkflowOptions.Builder.setWorkflowTaskTimeout`.
To set a Heartbeat Timeout, use `ActivityOptions.newBuilder.setHeartbeatTimeout`].
Create an instance of `ActivityOptions` from the `go.temporal.io/sdk/workflow` package, set the `RetryPolicy` field, and then use the `WithActivityOptions()` API to apply the options to the instance of `workflow.Context`.
Create an instance of an Activity Retry Policy in Python.
Set `Parent Close Policy` on an instance of `ChildWorkflowOptions` using `ChildWorkflowOptions.newBuilder().setParentClosePolicy`.
Create an instance of `StartWorkflowOptions` from the `go.temporal.io/sdk/client` package, set the `TaskQueue` field, and pass the instance to the `ExecuteWorkflow` call.
Set the Workflow Task Queue with the `WorkflowStub` instance in the Client code using `WorkflowOptions.Builder.setTaskQueue`.
Task Queue
This guide covers Temporal's archiving capabilities and how to set up the Archival feature.
Multi-Cluster Replication can be enabled by setting the appropriate values in the `clusterMetadata` section of your configuration file.
Set Workflow Retry Options in the `WorkflowStub` instance using `WorkflowOptions.Builder.setWorkflowRetryOptions`.
A Retry Policy can be configured with an instance of the `RetryOptions` object.
If a newer version of the Temporal Server is available, a notification appears in the Temporal Web UI.
Use `ActivityOptions` to configure how to invoke an Activity Execution.