temporalio / temporalio/temporal-worker-controller
Address cold-start problems with scale-to-zero scalers
@tomba7 is already working on this.
Since Aug 24, 2026.
- Dominant language
- Go
- Stars
- 187
- Forks
- 70
- Avg merge
- 4d 1h
- Merged PRs (30d)
- 31
Description
When N = 0, the current WD versions can still get scaled down to 0, even when the task queue is genuinely busy
KEDA's temporal scaler measures task queue backlog depth and not the throughput
In the reporter's environment, a worker that's actually busy and is keeping up, reads ~0 tasks at almost every poll
As a result, KEDA scales it down to 0, once the trigger has read inactive for a continuous cooldownPeriod (5m by default). Any single poll in between that sees a non-zero backlog resets the cool down clock
So a queue with steady, bursty traffic still sizes the k8s deployment to 0 if every burst drains between the polls. i.e. KEDA never sees the tasks getting processed
The next task then faces a cold start of up to one pollingInterval to notice the backlog, plus pod scheduling and worker startup latency
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.