Azure / Azure/azure-functions-host
Allow gRPC Go worker process to be launched by Host
- Dominant language
- C#
- Stars
- 2k
- Forks
- 482
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 36
Description
#### What problem would the feature you're requesting solve? Please describe.
A native Go worker process involves gRPC just like other language workers. Similar to DNI, it will need the path to the .exe. Execution is done via the shell (.\worker.exe)
Instead of making a new image for this, we can enable the Host to recognize this so that we can use generic containers. The Host should be able to communicate with the generated .exe using gRPC
#### Describe the solution you'd like
Although still in discussion, we can run the Host in custom mode but allow the gRPC service to start. This allows the Go process to communicate with the Host so that generic containers (ones that are not language-specific) find the exe and the Host starts it
#### Describe alternatives you've considered
Possibly use other existing language worker containers - but risky as they are already setup in a certain way. Go is closest to DNI in that both are compiled and output an assembly or executable. The Host will find the path using worker.config.json and execute accordingly:
Dotnet execution: dotnet.exe
Go execution: ./
#### Additional context
From "Using Available Dedicated Compute for Native Go Worker" post
Contributor guide
Research direction
Start by reviewing the Host's custom mode and the worker.config.json execution settings described in the issue. Trace how the Host starts existing native workers and enables gRPC, then determine the expected behavior for a Go executable in a generic container. Done means the Host can locate and launch the executable and communicate with it over gRPC.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, grpc
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100