User Tools
development:mdc:mdc
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| development:mdc:mdc [2021/12/13 21:12] – slawrence | development:mdc:mdc [2021/12/14 22:44] (current) – slawrence | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| 1. ReScheduler is set via @Scheduled(fixedDelayString = " | 1. ReScheduler is set via @Scheduled(fixedDelayString = " | ||
| - | i. Holdes | + | |
| + | i. Holds Autowired instances of the scheduleRepo (to get data), scheduler (to schedule things), and scheduleJobListener (to respond to things) | ||
| ii. Obtains a list of schedules from the Schedule table | ii. Obtains a list of schedules from the Schedule table | ||
| iii. Obtains list of all current job keys for defined group " | iii. Obtains list of all current job keys for defined group " | ||
| Line 40: | Line 41: | ||
| ii. This will find the correct processorBase based on the incoming message (i.e. the processor class, can be anything extending PerformanceProcessorBase, | ii. This will find the correct processorBase based on the incoming message (i.e. the processor class, can be anything extending PerformanceProcessorBase, | ||
| iii. Executes all discovery tasks per the processor class generated discoveryTask list and stops when there are no more tasks to run. This is assuming the Processor class itself is well formed. | iii. Executes all discovery tasks per the processor class generated discoveryTask list and stops when there are no more tasks to run. This is assuming the Processor class itself is well formed. | ||
| - | iv. When processRequest is met in the processorBase, if no more tasks to run, the startPostProcess method is called. | + | iv. When processRequest is met in the processorBase |
| - | v. The outgoing response is then 'saved locally' | + | v. The outgoing response is then converted into a StoredOutgoingMessage. This includes the request, response, errors, etc... |
| + | vi. The StoredOutgoingMessage is passed to the PostProcessor' | ||
| - | 8. | + | 8. |
| + | i. | ||
| + | ii. It is saved to the OutgoingMessageRepository. | ||
| + | |||
| + | 9. OutgoingMessageRepository | ||
| + | i. This is a basic JPA repository. | ||
| + | ii. It is monitored by the OutgoingMessagePusher | ||
| + | |||
| + | 10. OutgoingMessagePusher | ||
| + | i. | ||
| + | ii. Schedule runs ' | ||
| + | iii. POSTs proper messages to the orchestrator as json containing the byte[] results via REST endpoint: | ||
| + | |||
| + | 11. TaskControllerV2 - Process Results | ||
| + | i. | ||
| + | ii. QueuingDiscoveryProcessorService: | ||
| + | iii. Places task result into the sendTaskResult RabbitMQ queue. | ||
| + | iv. When pulled from Queue, AgentResultService: | ||
| + | |||
| + | 12. AgentResultService | ||
| + | i. For each task, checks thresholds, looks up the task and completes it (i.e. removes it from the activeTask db table and places it in the completedTask db table) or fails the task (i.e. removes it from the activeTask db table and places it in the failedTask db table). | ||
development/mdc/mdc.1639429966.txt.gz · Last modified: 2021/12/13 21:12 by slawrence