Skip to content

Repository files navigation

100 Temporal Mistakes

A collection of common mistakes made when using Temporal and how to avoid them. This is a work in progress!

Workflow Limits

Solutions

  • External payloads
  • ContinueAsNew
  • Fan Out pattern
  • Monitor history length, payload size, etc (customer interceptor and codec for metrics?)

Workflow Replay

Solutions

  • Worker versioning + pinned workflows
  • Static analysis
  • SDK sandboxes
  • Replay testing
  • Run with very small sticky cache size in dev?

Timeouts and Retries

Solutions

  • Timeout and retry policy lint/simulator
  • Enforcement via interceptor (hard error in dev, warn in prod)
    • Also prevent max_attempts=1
  • Decide retryability from the activity!

Cancellation

Solutions

  • Heartbeat from (almost) all activities
  • Let workflows orchestrate cleanup/compensation on cancel
  • Test workflow cancelation based on timing of the cancel signal

Software Design

Testing

Operations

Other


100 Temporal Mistakes and How to Avoid Them by Jacob LeGrone is licensed under CC BY-NC 4.0

About

A collection of common mistakes made when using Temporal and how to avoid them.

Resources

Stars

27 stars

Watchers

5 watching

Forks

Contributors

Languages