wellcomecollection / platform

Wellcome Collection Digital Platform
https://developers.wellcomecollection.org/
MIT License
48 stars 10 forks source link

Goobi: who you gonna call? #4674

Closed tomcrane closed 4 years ago

tomcrane commented 4 years ago

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).

  1. Goobi (unchanged) calls old DDS
  2. Old DDS calls new DDS pretending to be Goobi
  3. Old DDS creates workflow job
  4. Old workflow processor picks up workflow job after delay 1
  5. Old workflow processor creates dlcsIngestJob
  6. 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.

tomcrane commented 4 years ago

Superseded by #4683