Public Courses

Interacting with Workflows with Go (interactwf_go)


Description
In this course, you'll expand your ability to write dynamic Workflows by learning how to interact with them and enabling them to respond to external stimuli.

When you've completed the course, you'll be able to:
- Integrate Signals and Queries with Workflows
- Develop Custom Search Attributes to identify specific Workflow Executions
- Evaluate methods to stop Workflow Executions
- Develop Activities asynchronously

Prerequisites:

To be successful in this course, you should have an understanding of the fundamental concepts, tools, and techniques used to develop and execute basic Temporal applications with the Go SDK. This includes the ability to develop and execute Temporal Workflows and Activities, navigate the Web UI, configure and run a Worker, as well as an understanding of the high-level interactions between the Temporal Application and Temporal Cluster during Workflow Execution. We strongly recommend that you complete Temporal 101 and 102, which cover these topics, before starting this course.

Since code used in examples and exercises are written in Go, you must also have at least basic proficiency with the Go programming language.

Programming Language: Go Number of hours: 3

Content
  • About this Course
  • Welcome
  • Meet the Instructors
  • Format and Duration
  • Course Outcomes
  • Exercise Environment Orientation
  • (Optional Activity) Setting up a Local Development Environment
  • Course Conventions
  • Getting Help
  • Signaling Your Workflows
  • Signaling Your Workflows: What to Expect
  • What Are Signals?
  • Developing Signals
  • How to Send Signals
  • Signal-With-Start
  • Common Issues with Signals
  • Using ReceiveAsync to Drain Signals
  • Handling Asynchronous Signals
  • Exercise #1: Sending an External Signal
  • Signals in the Event History
  • Exercise #2: Sending a Signal from a Client
  • Querying Your Workflows
  • Querying Your Workflows: What to Expect
  • What Are Queries?
  • Developing Queries
  • Sending Queries
  • Exercise #3: Querying Workflows
  • Finding Workflows with Search Attributes
  • Finding Workflows with Search Attributes: What to Expect
  • What is the Temporal Visibility Feature?
  • What is a List Filter?
  • What is a Search Attribute?
  • Custom Search Attributes
  • How to Create Custom Search Attributes
  • How to Use Custom Search Attributes
  • Sample: Custom Search Attributes
  • Workflow Cancellations
  • Workflow Cancellations: What to Expect
  • What is an Activity Heartbeat?
  • Canceling a Workflow Execution
  • Canceling vs. Terminating Workflow Executions
  • Handling Workflow Cancelation
  • Canceling Activities
  • Asynchronous Activity Completion
  • Asynchronous Activity Completion: What to Expect
  • What is Asynchronous Activity Completion?
  • When to Use Asynchronous Completion
  • Deciding Between Asynchronous Completion and Signals
  • How to Asynchronously Complete Activities
  • Exercise #4: Asynchronous Activity Completion
  • Conclusion
  • Essential Points
  • Parting Words
  • For More Information
Completion rules
  • All units must be completed