Azure / Azure/azure-functions-host

Allow gRPC Go worker process to be launched by Host

Open
#11,144 0 comments 0 reactions 0 assignees View on GitHub
Needs: Triage (Functions)
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.