Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Just added the readme for now
Fastq Sync Service
The fastq sync service is a simple service that allows step functions with task tokens to 'hang'
until the requirements of either a fastq list row or fastq set have been met.
This is useful for workflow-glue services that have fastq set ids but need to wait for either
The step function will then hang at that step until the task token has been 'unlocked'
Registering task tokens
Workflow glue services can use the fastq sync service by generating the following event
The fastq sync service will also trigger the qc, fingerprint or compression information services on the fastq manager if they do not exist but are required (note that the fastq sync service is aware that archived files are not able to have fastq manager internal services run on them, and as such will trigger the unarchiving of these fastqs).
Unlocking task tokens
The fastq sync service will listen for the following events:
FastqSetUpdated (from the fastq management service)
UnarchivingCompleted (from the fastq unarchiving service)
The fastq sync service will then check against the requirements of the fastq set or fastq list row for each task token and if so, unlock the task token.
Launching requirements sfn
Both step functions above call the launch requirements step function on each fastq list row in the set.
The launch requirements step function looks like this:
Resolves #871
TODO