Currently Goobi calls the live DDS to trigger WorkflowProcessor, which builds text and packages and also queues a job for DlcsJobProcessor to sync with DLCS.
It still needs to do all the workflow stuff, because the live DDS still needs all the things.
The new setup can sync with the DLCS, but it can't do the other things yet.
The new AWS-based processes can take over the Sync part as soon as is reasonable. Goobi can carry on calling the stage or live DDS endpoints as now, but we'll add a call at the beginning of this to call the NEW iiif-builder, too.
There's already a configurable delay in the processors (how old a job must be before it is considered take-able). If we then put a bigger delay into the current stuff, it will still do exactly what it does now, but when it comes to do the sync with DLCS it will find (we hope) that it doesn't have anything to do. (SyncOperation.DlcsImagesToIngest will be of length 0).
Goobi (unchanged) calls old DDS
Old DDS calls new DDS pretending to be Goobi
Old DDS creates workflow job
Old workflow processor picks up workflow job after delay 1
Old workflow processor creates dlcsIngestJob
Old DlcsJobProcessor picks up ingest job after delay 2
New DDS is also doing steps 3 - 6. We change delay 1 and delay 2 on old so that by the time Old gets to 6, New has done this bit.
Proposal:
Currently Goobi calls the live DDS to trigger WorkflowProcessor, which builds text and packages and also queues a job for DlcsJobProcessor to sync with DLCS. It still needs to do all the workflow stuff, because the live DDS still needs all the things. The new setup can sync with the DLCS, but it can't do the other things yet.
The new AWS-based processes can take over the Sync part as soon as is reasonable. Goobi can carry on calling the stage or live DDS endpoints as now, but we'll add a call at the beginning of this to call the NEW iiif-builder, too.
There's already a configurable delay in the processors (how old a job must be before it is considered take-able). If we then put a bigger delay into the current stuff, it will still do exactly what it does now, but when it comes to do the sync with DLCS it will find (we hope) that it doesn't have anything to do. (
SyncOperation.DlcsImagesToIngest
will be of length 0).New DDS is also doing steps 3 - 6. We change delay 1 and delay 2 on old so that by the time Old gets to 6, New has done this bit.