CatgirlIntelligenceAgency/code/services-core/control-service
Viktor Lofgren eccb12b366 (control) Fix spurious state detection in control-side actors
A race condition was found where precession actors would sometimes skip a step, because when invoking ExecutorRemoteActor.getState(), it would get the last 'OK' actor state from a previous run of the actor!

To avoid this, the trigger method was changed from returning a boolean to the message ID, negative if an error occurred, to be passed to getState to select only messages that pertain to the present or future runs.
2023-12-09 12:50:05 +01:00
..
src (control) Fix spurious state detection in control-side actors 2023-12-09 12:50:05 +01:00
build.gradle (renderer) Make helpers configurable on a by-service basis. 2023-12-02 17:06:40 +01:00
readme.md (*) Get multi-node routing working. 2023-10-15 18:38:30 +02:00

Control Service

The control service provides an operator's user interface. By default this interface is exposed on port 8081. It does not offer any sort of access control or authentication.

The control service will itself execute tasks that affect the entire system, but delegate node-specific tasks to the corresponding executor-service via the executor-api.

Conceptually the application is broken into three parts:

  • Application specific tasks relate to the high level abstractions such as blacklisting and API keys
  • System tasks relate to low level abstractions such as the message queue and event log.
  • Node tasks relate to index node specific tasks, such as crawling and indexing.

Central Classes

See Also