Problem Description
If you experience the problem that scheduled jobs are not running anymore, but you can run them manually.
Step-by-step guide
1) Add within your <datameer-install-path>/conf/log4j-production.properties
the configuration property
log4j.category.datameer.dap.conductor.trigger.StartJobTrigger=TRACE
It will be necessary to restart the Datameer service to make this change active.
2) Watch or investigate the application log file at the times when a job should be scheduled. To do so catch the TRACE
messages via
grep -ir 'system.*trace' conductor.log.<id>
grep -ir 'cron4j::scheduler' conductor.log.<id>
The output form <datameer-install-path>/logs/conductor.log
should than look like
[system] TRACE [<date> <time>] [cron4j::scheduler[<id>]::executor[<id>8a3257]] (StartJobTrigger.java:57) - Job '2' is going to be scheduled. [system] TRACE [<date> <time>] [cron4j::scheduler[<id>]::executor[<id>c95b5a]] (StartJobTrigger.java:57) - Job '1' is going to be scheduled.
[system] TRACE [<date> <time>] [cron4j::scheduler[<id>]::executor[<id>c95b5a]] (StartJobTrigger.java:66) - Job '1' is scheduled succesfully.
[system] TRACE [<date> <time>] [cron4j::scheduler[<id>]::executor[<id>c95b5a]] (StartJobTrigger.java:72) - Job '1' triggering finished.
[system] TRACE [<date> <time>] [cron4j::scheduler[<id>]::executor[<id>8a3257]] (StartJobTrigger.java:66) - Job '2' is scheduled succesfully.
[system] TRACE [<date> <time>] [cron4j::scheduler[<id>]::executor[<id>8a3257]] (StartJobTrigger.java:72) - Job '2' triggering finished.
3) If the job became triggered catch the TRACE
messages via
grep -ir 'triggering.*finished' conductor.log.<id>
and check if it was executed later correctly! To do so catch the job execution via
grep -ir 'DataSourceConfigurationImpl{id=<jobID>}' conductor.log.<id>
The output of <datameer-install-path>/logs/conductor.log
should than look like
[system] INFO [<date> <time>] [JobScheduler thread-1] (JobScheduler.java:398) - [Job <id>] Preparing job in job scheduler thread for DataSourceConfigurationImpl{id=<jobID>}...
[system] INFO [<date> <time>] [JobScheduler thread-1] (JobScheduler.java:401) - [Job <id>] Preparing job in job scheduler thread for DataSourceConfigurationImpl{id=<jobID>}... done (0 sec)
[system] INFO [<date> <time>] [JobScheduler worker1-thread-134] (JobSchedulerJob.java:95) - [Job <id>] Preparing job for DataSourceConfigurationImpl{id=<jobID>}...
[system] INFO [<date> <time>] [JobScheduler worker1-thread-134] (JobSchedulerJob.java:100) - [Job <id>] Preparing job for DataSourceConfigurationImpl{id=<jobID>}... done (0 sec)
4) Now, as you have the configuration and job IDs, you can proceed further with your investigation and check if the job were processed successful.
Useful Notes:
- Below property allows to log StartJobTrigger events for Scheduled artefacts only. DataDriven artefacts triggering won't be logged with a separate TRACE message.
log4j.category.datameer.dap.conductor.trigger.StartJobTrigger=TRACE
- DataDriven Workbooks might not be triggered properly in case they have filter or sort introduced directly at the source sheet. To avoid such cases, we would recommend do not filter/sort data directly at the source sheets. This behaviour is expected to be improved in Datameer 6.1.25.
Comments
0 comments
Please sign in to leave a comment.