Webhook-based worker wake-up: let DTS call a user-provided endpoint to scale up idle workers (agents)
Maintainers usually reply within 3 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 42/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- python
Research direction
No source files or tests are named. Start by tracing the task-hub path that detects pending work without a connected worker and the worker connection path; then identify how endpoint configuration and orchestration instance and conversation IDs are represented. Done means a configured endpoint receives the wake request and a newly connected worker resumes the correct queued context.
Written by the indexing model from the issue text.
Description
Summary
Add outbound webhook support to the Durable Task Scheduler so a customer can register an HTTP endpoint that DTS calls when there is pending work and no worker connected to pick it up. The wake request includes the identifiers needed to resume the right context, including the conversation ID, so the worker that comes up continues the agent exactly where it left off instead of starting a blank session. Once the worker connects, it pulls and processes the queued work as usual.
Problem
DTS is pull based. A worker has to be alive and connected to receive work. That assumption breaks when the worker is hosted somewhere that scales to zero on idle, such as a Foundry Hosted Agent, which deprovisions compute after a period of inactivity. If an event is raised while the worker is scaled down, for example a human in the loop approval or a timer firing, the work sits in the task hub with no worker alive to pull it, and DTS has no way to reach out and wake the host. Waking a worker is only half the problem. The agent's session state lives separately, keyed by conversation ID, so the resumed worker also has to know which conversation to restore or it comes back up with no memory of the run it is supposed to continue.
Proposed solution
Let the customer configure a wake up endpoint on the task hub. When DTS detects pending work with no connected worker, it sends an HTTP request to that endpoint. The request carries the identifiers required to resume the correct context, including the orchestration instance ID and the associated conversation ID. The customer's environment uses those to bring the right worker back up, which reconnects to DTS, restores the agent session for that conversation ID, and drains the pending work. This gives pull based workers the same "someone rings the doorbell when there is work" behavior that push based and HTTP triggered systems already have, while making sure the agent picks up where it left off.
- Dominant language
- Python
- Stars
- 19
- Forks
- 11
- Avg merge
- 5d 18h
- Merged PRs (30d)
- 11
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
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.
More from microsoft/agent-framework-durable-extension
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
microsoft/agent-framework-durable-extension#87 · 1 comment ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
microsoft/agent-framework-durable-extension#75 · 1 comment ·
Maintainers usually reply within 3 days
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
microsoft/agent-framework-durable-extension#162 ·
Maintainers usually reply within 3 days
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
microsoft/agent-framework-durable-extension#161 ·
Maintainers usually reply within 3 days
-
.NET: [Guide] Running Durable Agents & Workflows inside Foundry Hosted Agents across scale-to-zeroOpen
Difficulty 5/5 Over a week Newbie friendliness 22/100
microsoft/agent-framework-durable-extension#149 ·
Maintainers usually reply within 3 days
All issues in microsoft/agent-framework-durable-extension
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
pydot/pydot#601 · 4 comments ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
letsencrypt/cp-cps#361 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
CI: startup_failure because callers grant fewer permissions than ledger-app-workflows@v1 declaresPossibly taken @maykonmichel claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
LedgerHQ/app-boilerplate-rust#227 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
linuxmint/mintupdate#1107 ·