/
Spike MODDATAIMP-420 - Create monitoring task for Data Import app

Spike MODDATAIMP-420 - Create monitoring task for Data Import app

V.1

MODDATAIMP-420 - Getting issue details... STATUS

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_idlast_event_timestampnotification_sent
5a289466-8ae4-446e-9718-74c21845cee32021-04-29T18:12:15.607+0000false
49d97e22-61ae-452b-8497-5ff6d68ba9f42021-04-29T18:07:12.607+0000true

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