org.eso.ias.supervisor
Members list
Packages
Type members
Classlikes
A Supervisor is the container to run several DASUs into the same JVM.
A Supervisor is the container to run several DASUs into the same JVM.
The Supervisor blindly forward inputs to each DASU and sends the outpts to the BSDB without adding any other heuristic: things like updating validities when an input is not refreshed are not part of the Supervisor.
The Supervisor gets IASIOs from a InputSubscriber and publishes IASValues to the BSDB by means of a OutputPublisher. The Supervisor itself is the publisher and subscriber for the DASUs i.e. the Supervisor acts as a bridge:
- IASIOs read from the BSDB are forwarded to the DASUs that need them as input: the Supervisor has its own subscriber to receive values from the BSDB that are then forwarded to each DASU for processing
- values produced by the DASUs are forwarded to the BSDB: the DASUs publishes the output they produce to the supervisor that, in turn, forward each of them to its own publisher.
The same interfaces, InputSubscriber and OutputPublisher, are used by DASUs and Supervisors in this way a DASU can be easily tested directly connected to Kafka (for example) without the need to have it running into a Supervisor.
DASUs are built by invoking the dasufactory passed in the constructor: test can let the Supervisor run with their mockup implementation of a DASU.
If not defined, the constructor builds the HB producer, the output publisher and the command manager using the passed SimpleStringProducer. All those producers are those used in operatons i.e. sending data to the kafka servers. The constructor allows to override this implementation passing special producers, a feature useful for testing
Value parameters
- cdbReader
-
the CDB reader to get the configuration of the DASU from the CDB
- commandManagerOpt
-
the command manager
- dasuFactory:
-
factory to build DASU
- hbProducerOpt
-
the subscriber to send heartbeats
- inputSubscriber
-
the subscriber to get events to be processed
- kafkaBrokers
-
the string with kafka brokers
- logLevelFromCommandLine
-
The log level from the command line; None if the parameter was not set in the command line
- outputPublisherOpt
-
the publisher to send the output
- stringProducerOpt
-
the string producer to push in kafka
- supervisorIdentifier
-
the identifier of the Supervisor
Attributes
- Companion
- object
- Supertypes
-
trait AutoCloseabletrait OutputPublishertrait InputSubscribertrait InputsListenerclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Supervisor.type
The executor of commands for the Supervisor.
The executor of commands for the Supervisor.
The SupervisorCmdExecutor extends the DefaultCommandExecutor to customize the TF_CHANGED command.
Value parameters
- tfIDs
-
The list of the TFs running in the ASCEs of the Supervisor
Attributes
- Companion
- object
- Supertypes
-
class DefaultCommandExecutortrait CommandListenerclass Objecttrait Matchableclass Any
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
Stats logger produces statistics for the Supervisor
Stats logger produces statistics for the Supervisor
Value parameters
- dasusIds
-
The IDs of the DAUS deployed in the Supervisur
- id
-
The identifier of the Supervisor
Attributes
- Companion
- object
- Supertypes
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
SupervisorStatistics.type