e8de468b0b
* (executor-api) Make executor API talk GRPC The executor's REST API was very fragile and annoying to work with, lacking even basic type safety. Migrate to use GRPC instead. GRPC is a bit of a pain with how verbose it is, but that is probably a lesser evil. This is a fairly straightforward change, but it's also large so a solid round of testing is needed... The change set breaks out the GrpcStubPool previously residing in the QueryService, and makes it available to all clients. ServiceId.name was also renamed to avoid the very dangerous clash with Enum.name(). The boilerplate needed for grpc was also extracted into a common gradle file for inclusion into the appropriate build.gradle-files. |
||
---|---|---|
.. | ||
src | ||
build.gradle | ||
readme.md |
The executor service is a partitioned service responsible for executing and keeping track of long running maintenance and operational tasks, such as crawling or data processing.
It accomplishes this using the message queue and actor library, which permits program state to survive crashes and reboots. The executor service is closely linked to the control-service, which provides a user interface for much of the executor's functionality.