Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added a note about when the jobs run on a restart

...

  • PersonPlacementEmployingBodyTrustJob: Truncates and repopulates the list of connections between trainees and the employingBody trust. It writes data into the database table tcs.PersonTrust.
  • PersonPlacementTrainingBodyTrustJob: Repopulates the list of connections between trainees and the trainingBody trust. It also writes into tcs.PersonTrust, and is triggered after PersonPlacementEmployingBodyTrustJob, so the data wouldn't be truncated at first.
  • PostEmployingBodyTrustJob: Truncates and repopulates the list of connections between posts and the employingBody trust. It writes data into the database tcs.PostTrust.
  • PostTrainingBodyTrustJob: Repopulates the list of connections between posts and the trainingBody trust. It also writes into tcs.PostTrust, and is triggered after PostTrainingBodyTrustJob, so the data wouldn't be truncated at first.
  • PersonElasticSearchSyncJob: Truncates index of persons in ElasticSearch and creates a new index of persons. Then repopulates the documents of PersonViews from TCS-Service and saves these documents in ElasticSearch. 


Sequence Diagram for sync jobs:

Image Added

The processing flows of PersonPlacementTrainingBodyTrustJob, PostEmployingBodyTrustJob, PostTrainingBodyTrustJob are similar to PersonPlacementEmployingBodyTrustJob, so there's no need to repeat the diagram.


Image Added

Time scheduled

00:09 PersonPlacementEmployingBodyTrustJob

...

01:29 PersonElasticSearchSyncJob

If the container is restarted in a pre-defined time range (00:00:00+00:00 to 07:00:00+00:00) then the jobs are run sequentially.

Job Execution Order

Sequence Diagram for sync jobs:

Image Removed

The processing flows of PersonPlacementTrainingBodyTrustJob, PostEmployingBodyTrustJob, PostTrainingBodyTrustJob are similar to PersonPlacementEmployingBodyTrustJob, so there's no need to repeat the diagram.


...

Summary of what to run:

Failed/Out-of-date JobManaged Bean NameMethod NameThings that need to be done after this has been started

PersonPlacementEmployingBodyTrustJob

PersonPlacementEmployingBodyJobdoPersonPlacementEmployingBodyFullSync

Re-run PersonPlacementTrainingBodyTrustJob

  and PersonElasticSearchSyncJob

PersonPlacementTrainingBodyTrustJobPersonPlacementTrainingBodyTrustJobPersonPlacementTrainingBodyFullSyncPersonElasticSearchSyncJob (assuming only this failed)
PostEmployingBodyTrustJobPostEmployingBodyTrustJobPostEmployingBodyTrustFullSyncRe-run PostTrainingBodyTrustJob
PostTrainingBodyTrustJobPostTrainingBodyTrustJobPostTrainingBodyTrustFullSyncnone (assuming only this failed)
PersonElasticSearchSyncJobPersonElasticSearchJobpersonElasticSearchSyncnone


Run jobs out of schedule

Instructions taken from Refresh Elasticsearch cache page.

...

cd /tmp
mkdir javatools
cd javatools
wget https://heetisrequiredapps.blob.core.windows.net/javafiles/jmxterm-1.0.0-uber.jar
wget https://heetisrequiredapps.blob.core.windows.net/javafiles/jdk-8-linux-x64.tar.gz
cd ..
docker cp javatools sync_sync_1:/tmp
docker exec -it sync_sync_1 /bin/bash
cd /tmp/javatools
tar -zxvf jdk-8-linux-x64.tar.gz
rm jdk-8-linux-x64.tar.gz
./jdk1.8.0_202/bin/java -jar jmxterm-1.0.0-uber.jar
open 1
domain sync.mbean
bean sync.mbean:name=$bean_name
run $job_method
run isCurrentlyRunning
exit

When your you're back at the bash-4.4# prompt you can run the following command to keep an eye on the progress of the sync.

tail /var/log/apps/sync.log -f

Summary of what to run:

none
Failed/Out-of-date JobManaged Bean NameMethod NameThings that need to be done after this has been started

PersonPlacementEmployingBodyTrustJob

PersonPlacementEmployingBodyJobdoPersonPlacementEmployingBodyFullSync

Re-run PersonPlacementTrainingBodyTrustJob

  and PersonElasticSearchSyncJob

PersonPlacementTrainingBodyTrustJobPersonPlacementTrainingBodyTrustJobPersonPlacementTrainingBodyFullSyncPersonElasticSearchSyncJob (assuming only this failed)
PostEmployingBodyTrustJobPostEmployingBodyTrustJobPostEmployingBodyTrustFullSyncRe-run PostTrainingBodyTrustJob
PostTrainingBodyTrustJobPostTrainingBodyTrustJobPostTrainingBodyTrustFullSyncnone (assuming only this failed)
PersonElasticSearchSyncJobPersonElasticSearchJobpersonElasticSearchSync