Closed
Description
Why
We need to avoid blocking the signature of new open messages when the aggregator is computing the artifact for a signed entity type (an operation which can take up to several hours). In particular, this will help have a consistent certification of the Cardano transactions which is occurring at a faster pace.
What
Update the artifact production so that:
- The signed entity type is locked during the operation
- The signed entity type is unlocked when the operation terminates (success or failure)
- The computation of the artifact is done in a background thread
How
- Update the
SignedEntityService
create_artifact
function:- Make the computation in a separate task
- Return the task instead of unit
- Lock signed entity type
- Unlock signed entity type (when success or failure)
- Adapt the integration tests (if any problem occurs because of the background task)