You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The fastq sync service is a simple service that allows step functions with task tokens to 'hang'
4
-
until the requirements of either a fastq list row or fastq set have been met.
3
+
The fastq sync service is a simple service that allows step functions with fastq set ids as inputs to 'hang'
4
+
until the requirements of the fastq set have been met.
5
5
6
6
This is useful for workflow-glue services that have fastq set ids but need to wait for either
7
7
8
8
1. The fastq set readsets to be created
9
9
2. The fastq set to have been qc'd AND have a fingerprint file and compression information
10
10
3. This is also useful for data sharing services that require the fastqs to be unarchived before they can be shared
11
11
12
-
The step function will then hang at that step until the task token has been 'unlocked'
12
+
The step function will then hang at that step until the task token has been 'unlocked' by the fastq sync service.
13
13
14
14
## Registering task tokens
15
15
@@ -25,34 +25,38 @@ Workflow glue services can use the fastq sync service by generating the followin
25
25
"fastqSetId":"fqs.123456",
26
26
// Then one or more of the following
27
27
// Requirements can be left out if not needed
28
-
// Do all fastq list rows in the set contain readsets?
29
-
"hasReadsets":true,
30
-
// Do all fastq list rows in the set contain an ntsm uri?
31
-
"hasFingerprints":true,
32
-
// Do all fastq list rows in the set contain compression information?
33
-
// Useful if the fastq list rows are in ora format.
34
-
// Some pipelines require the gzip file size in bytes in order
35
-
// to stream the gzip file from ora back into s3
36
-
"hasCompressionInformation":true,
37
-
// Do all fastq list rows in the set contain qc information?
38
-
// We don't use this for anything yet but we may use this in the future
39
-
// to ensure that a fastq set has met the ideal coverage levels
40
-
"hasQc":true,
28
+
"requirements": {
29
+
// Do all fastq list rows in the set contain readsets?
30
+
"hasActiveReadSet":true,
31
+
// Do all fastq list rows in the set contain an ntsm uri?
32
+
"hasFingerprint":true,
33
+
// Do all fastq list rows in the set contain compression information?
34
+
// Useful if the fastq list rows are in ora format.
35
+
// Some pipelines require the gzip file size in bytes in order
36
+
// to stream the gzip file from ora back into s3
37
+
"hasFileCompressionInformation":true,
38
+
// Do all fastq list rows in the set contain qc information?
39
+
// We don't use this for anything yet but we may use this in the future
40
+
// to ensure that a fastq set has met the ideal coverage levels
41
+
"hasQc":true,
42
+
}
41
43
}
42
44
}
43
45
```
44
46
45
47
The fastq sync service will also trigger the qc, fingerprint or compression information services if they do not exist.
46
48
47
-
If any of the fastq list rows are in archive, the fastq sync service will also trigger the archive service to unarchive these fastq list rows.
49
+
If any of the fastq list rows are in archive, the fastq sync service will also trigger the fastq unarchiving service to thaw out these fastq list rows.
50
+
And place them into the 'byob' bucket.
51
+
48
52
49
53
## Unlocking task tokens
50
54
51
-
The fastq sync service will listen for the following events:
55
+
The fastq sync service will then also listen for the following event typed:
52
56
53
57
1. FastqListRowUpdated (from the fastq management service)
54
58
2. FastqSetUpdated (from the fastq management service)
55
-
3. UnarchivingCompleted (from the fastq unarchiving service)
56
-
57
-
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.
59
+
3. UnarchivingJobUpdated (from the fastq unarchiving service, where the status is 'SUCCEEDED')
58
60
61
+
Everytime one of the events is triggered, the fastq sync service will check if the fastq list row or fastq set has met the requirements.
62
+
If all requirements are met for the fastq set, the fastq sync service will unlock the task token.
0 commit comments