temporalio / temporalio/temporal

Support activity task queue `max_tasks_per_second` even when `request_eager_execution` is set

Open
#6,800 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
23.2k
Forks
1.9k
Avg merge
2d 8h
Merged PRs (30d)
228

Description

Describe the solution you'd like

Today, if TaskQueueMetadata.max_tasks_per_second is set for an activity task queue, it is ignored if ScheduleActivityTaskCommandAttributes.request_eager_execution is true. SDKs have to work around this limitation and/or inform customers, especially since SDKs try to set request_eager_execution as true by default.

We should support both of these working together. In the meantime, SDKs will continue to educate users on their incompatibility.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing TaskQueueMetadata.max_tasks_per_second and ScheduleActivityTaskCommandAttributes.request_eager_execution through the activity task-queue scheduling path. Identify where eager execution bypasses the rate limit and review existing tests around these attributes. Done means both options work together without requiring SDK workarounds.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.