-
Notifications
You must be signed in to change notification settings - Fork 482
Open
Labels
Needs: Triage (Functions)compute-separationCompute separation / external worker supportCompute separation / external worker support
Description
New channel type for externally-connected workers. Inherits WorkerChannelBase — no process management. The gRPC stream IS the worker lifecycle.
Dependencies: M1 (#11641)
Deliverables
| File | Purpose |
|---|---|
ExternalWorkers/ConnectedWorkerChannel.cs |
Channel subclass — no IWorkerProcess, no process spawn/terminate |
ExternalWorkers/ConnectedWorkerChannelFactory.cs |
Creates ConnectedWorkerChannel instances |
ExternalWorkers/IConnectedWorkerChannelManager.cs |
Interface with AddChannel, GetChannels, WaitForChannelAsync, ShutdownChannelAsync |
ExternalWorkers/ConnectedWorkerChannelManager.cs |
Implementation with TaskCompletionSource-based WaitForChannelAsync |
ExternalWorkers/ConnectedWorkerInvocationDispatcher.cs |
IFunctionInvocationDispatcher that routes to connected channels, no restart logic |
Acceptance Criteria
-
ConnectedWorkerChannelcan be constructed and processes the gRPC protocol identically toGrpcWorkerChannel(minus process lifecycle) -
WorkerProcessreturns null,WorkerProcessIdreturns -1 -
ConnectedWorkerChannelManager.WaitForChannelAsync()blocks until a channel is added, with configurable timeout -
ConnectedWorkerInvocationDispatcherroutes invocations to ready channels -
RestartWorkerAsyncreturnsfalse(no-op for external workers) - Unit tests for all new classes
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Needs: Triage (Functions)compute-separationCompute separation / external worker supportCompute separation / external worker support