Spike MODDATAIMP-420 - Create monitoring task for Data Import app
V.1
Participants: | |
---|---|
Solution Architect | |
Product Owner | |
Java Lead |
Spike Purpose:
Problem:
The current implementation of the data-import does not provide an automated solution to define if job is "stuck" and there is no way to notify responsible people about such situation.
The identifying of that kind of situation is a manual task.
Goal:
Provide a solution to automate monitoring of job executions whose progress stopped (stuck) and notify users about this situation
Phase 1 JobExecution Monitoring
Database table structure:
The proposed solution is to create a separate table with sample name "job_monitoring" to accumulate information about jobExecutions with following structure:
job_execution_id | last_event_timestamp | notification_sent |
---|---|---|
5a289466-8ae4-446e-9718-74c21845cee3 | 2021-04-29T18:12:15.607+0000 | false |
49d97e22-61ae-452b-8497-5ff6d68ba9f4 | 2021-04-29T18:07:12.607+0000 | true |
where
job_execution_id - UUID identifier of the job
last_event_timestamp - timestamp of the last updation for jobExecution
notification_sent - boolean value that indicates whether notification was send or not
example above based on sample assumption:
current date - 2021-04-29T18:14:17.607+0000
time unit to designate stuck execution - 5 min
Database table maintenance:
"job_monitoring" table will be populated with data on following actions:
INSERT:
- on initialization of JobExecution at JobExecutionProgressDaoImpl
in