A Task Worker is a program written by a LittleHorse user that connects to the LH Server, polls for
ScheduledTasks to execute, executes the Tasks, and returns the result to LittleHorse. Task Workers can be easily developed using the Task Worker SDK's in Java, GoLang, and Python (support for C# coming soon).
The work performed by Task Workers can be incredibly diverse, ranging from charging a customer's credit card to fetching data from an API to deploying infrastructure (as in a devops pipeline).
Task Workers open a web connection to the LittleHorse Server and do not need to receive connections on any ports. This has several benefits:
- Added security, since your systems do not need to accept any incoming connections.
- Built-in throttling, since the LittleHorse Server only dispatches a
ScheduledTaskto a Task Worker once the worker notifies the LH Server that it has capacity to perform a task.
- Performance, since the protocol is based on grpc bi-directional streaming.