MarginaliaSearch/code/services-core/executor-service
Viktor Lofgren 6271d5d544 (mq) Add relation tracking between MQ messages for easier tracking and debugging.
The change adds a new column to the MESSAGE_QUEUE table called AUDIT_RELATED_ID.  This field is populated transparently, using a dictionary mapping Thread IDs to Message IDs, populated by the inbox handlers.

The existing RELATED_ID field has too many semantics associated with them,
among other things the FSM code uses them this field in tracking state changes.

The change set also improves the consistency of inbox names.  The IndexClient was buggy and populated its outbox with a UUID.  This is fixed. All Service2Service outboxes are now prefixed with 'pp:' to make them even easier to differentiate.
2024-01-18 15:08:27 +01:00
..
src (mq) Add relation tracking between MQ messages for easier tracking and debugging. 2024-01-18 15:08:27 +01:00
build.gradle (control) New export actions for RSS/Atom feeds and term frequency data 2024-01-15 14:54:26 +01:00
readme.md (docs) Update documentation 2023-10-27 12:45:39 +02:00

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.

Central Classes