Skip to content

Commit 9f554d7

Browse files
Hotfix/retry sample tracking (#59)
* retry sample tracking update for incoming data and log failure Co-authored-by: Sven F <[email protected]>
1 parent ab8997e commit 9f554d7

File tree

22 files changed

+299
-28
lines changed

22 files changed

+299
-28
lines changed

drop-boxes/register-IdXML-dropbox/register-IdXML-dropbox.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
sys.path.append('/home-link/qeana10/bin/')
88

99
import checksum
10+
import time
1011
import re
1112
import os
1213
import ch.systemsx.cisd.etlserver.registrator.api.v2
@@ -103,4 +104,16 @@ def process(transaction):
103104
transaction.moveFile(incomingPath, dataSet)
104105

105106
#sample tracking section
106-
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(identifier)
107+
wait_seconds = 1
108+
max_attempts = 3
109+
for attempt in range(max_attempts):
110+
try:
111+
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(identifier)
112+
break
113+
except:
114+
print "Updating location for sample "+identifier+" failed on attempt "+str(attempt+1)
115+
if attempt < max_attempts -1:
116+
time.sleep(wait_seconds)
117+
continue
118+
else:
119+
raise

drop-boxes/register-archived-ms-raw/register-raw.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import checksum
1010
import re
11+
import time
1112
import os
1213
import ch.systemsx.cisd.etlserver.registrator.api.v2
1314
from java.io import File
@@ -104,4 +105,16 @@ def process(transaction):
104105
transaction.moveFile(incomingPath, dataSet)
105106

106107
#sample tracking section
107-
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(parentCode)
108+
wait_seconds = 1
109+
max_attempts = 3
110+
for attempt in range(max_attempts):
111+
try:
112+
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(parentCode)
113+
break
114+
except:
115+
print "Updating location for sample "+parentCode+" failed on attempt "+str(attempt+1)
116+
if attempt < max_attempts -1:
117+
time.sleep(wait_seconds)
118+
continue
119+
else:
120+
raise
Binary file not shown.

drop-boxes/register-bam-dropbox/register-bam.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import checksum
1010
import re
11+
import time
1112
import os
1213
import ch.systemsx.cisd.etlserver.registrator.api.v2
1314
from java.io import File
@@ -136,4 +137,16 @@ def process(transaction):
136137
transaction.moveFile(incomingPath, dataSet)
137138

138139
#sample tracking section
139-
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(parentCode)
140+
wait_seconds = 1
141+
max_attempts = 3
142+
for attempt in range(max_attempts):
143+
try:
144+
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(parentCode)
145+
break
146+
except:
147+
print "Updating location for sample "+parentCode+" failed on attempt "+str(attempt+1)
148+
if attempt < max_attempts -1:
149+
time.sleep(wait_seconds)
150+
continue
151+
else:
152+
raise

drop-boxes/register-convert-ms-vendor-format/etl_msconvert.py

+13-2
Original file line numberDiff line numberDiff line change
@@ -484,8 +484,19 @@ def __str__(self):
484484
return self.value
485485

486486
def handleSampleTracking(barcode):
487-
#sample tracking section
488-
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(barcode)
487+
wait_seconds = 1
488+
max_attempts = 3
489+
for attempt in range(max_attempts):
490+
try:
491+
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(barcode)
492+
break
493+
except:
494+
print "Updating location for sample "+barcode+" failed on attempt "+str(attempt+1)
495+
if attempt < max_attempts -1:
496+
time.sleep(wait_seconds)
497+
continue
498+
else:
499+
raise
489500

490501
def createRawDataSet(transaction, incomingPath, sample, format, time_stamp):
491502
rawDataSet = transaction.createNewDataSet("Q_MS_RAW_DATA")

drop-boxes/register-fasta-dropbox/register-fasta.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import checksum
1010
import re
11+
import time
1112
import os
1213
import ch.systemsx.cisd.etlserver.registrator.api.v2
1314
from java.io import File
@@ -152,4 +153,16 @@ def process(transaction):
152153
transaction.moveFile(new_folder, dataSet)
153154

154155
# Updates the sample location of the extract sample
155-
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(identifier)
156+
wait_seconds = 1
157+
max_attempts = 3
158+
for attempt in range(max_attempts):
159+
try:
160+
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(identifier)
161+
break
162+
except:
163+
print "Updating location for sample "+identifier+" failed on attempt "+str(attempt+1)
164+
if attempt < max_attempts -1:
165+
time.sleep(wait_seconds)
166+
continue
167+
else:
168+
raise

drop-boxes/register-fastq-dropbox-with-metadata/register-fastq-with-metadata-dropbox.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import checksum
1010
import re
11+
import time
1112
import os
1213
import ch.systemsx.cisd.etlserver.registrator.api.v2
1314
from java.io import File
@@ -167,4 +168,16 @@ def process(transaction):
167168
transaction.moveFile(incomingPath, dataSet)
168169

169170
#sample tracking section
170-
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(identifier)
171+
wait_seconds = 1
172+
max_attempts = 3
173+
for attempt in range(max_attempts):
174+
try:
175+
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(identifier)
176+
break
177+
except:
178+
print "Updating location for sample "+identifier+" failed on attempt "+str(attempt+1)
179+
if attempt < max_attempts -1:
180+
time.sleep(wait_seconds)
181+
continue
182+
else:
183+
raise

drop-boxes/register-fastq-dropbox/register-fastq-dropbox.py

+15-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import checksum
1010
import re
11+
import time
1112
import os
1213
import ch.systemsx.cisd.etlserver.registrator.api.v2
1314
from java.io import File
@@ -128,4 +129,17 @@ def process(transaction):
128129
nameFile.close()
129130
transaction.moveFile(incomingPath, dataSet)
130131

131-
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(identifier)
132+
# sample tracking
133+
wait_seconds = 1
134+
max_attempts = 3
135+
for attempt in range(max_attempts):
136+
try:
137+
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(identifier)
138+
break
139+
except:
140+
print "Updating location for sample "+identifier+" failed on attempt "+str(attempt+1)
141+
if attempt < max_attempts -1:
142+
time.sleep(wait_seconds)
143+
continue
144+
else:
145+
raise

drop-boxes/register-featureXML-dropbox/register-fXML-dropbox.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import checksum
1010
import re
11+
import time
1112
import os
1213
import ch.systemsx.cisd.etlserver.registrator.api.v2
1314
from java.io import File
@@ -103,4 +104,16 @@ def process(transaction):
103104
transaction.moveFile(incomingPath, dataSet)
104105

105106
#sample tracking section
106-
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(identifier)
107+
wait_seconds = 1
108+
max_attempts = 3
109+
for attempt in range(max_attempts):
110+
try:
111+
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(identifier)
112+
break
113+
except:
114+
print "Updating location for sample "+identifier+" failed on attempt "+str(attempt+1)
115+
if attempt < max_attempts -1:
116+
time.sleep(wait_seconds)
117+
continue
118+
else:
119+
raise

drop-boxes/register-hlatyping-dropbox/register-hlatyping.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
sys.path.append('/home-link/qeana10/bin/')
88

99
import checksum
10+
import time
1011
import re
1112
import os
1213
import ch.systemsx.cisd.etlserver.registrator.api.v2
@@ -149,4 +150,16 @@ def process(transaction):
149150
transaction.moveFile(resultPath, dataSet)
150151

151152
#sample tracking section
152-
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(parentCode)
153+
wait_seconds = 1
154+
max_attempts = 3
155+
for attempt in range(max_attempts):
156+
try:
157+
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(parentCode)
158+
break
159+
except:
160+
print "Updating location for sample "+parentCode+" failed on attempt "+str(attempt+1)
161+
if attempt < max_attempts -1:
162+
time.sleep(wait_seconds)
163+
continue
164+
else:
165+
raise

drop-boxes/register-imgag-dropbox/register-imgag.py

+15-3
Original file line numberDiff line numberDiff line change
@@ -664,7 +664,19 @@ def process(transaction):
664664

665665
transaction.moveFile(vcfFolder, vcfDataSet)
666666
else:
667-
find_and_register_ngs_without_metadata(transaction, parentCodes)
667+
find_and_register_ngs_without_metadata(transaction, parentCodes)
668668
for code in parentCodes:
669-
#sample tracking section
670-
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(code)
669+
#sample tracking section
670+
wait_seconds = 1
671+
max_attempts = 3
672+
for attempt in range(max_attempts):
673+
try:
674+
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(code)
675+
break
676+
except:
677+
print "Updating location for sample "+code+" failed on attempt "+str(attempt+1)
678+
if attempt < max_attempts -1:
679+
time.sleep(wait_seconds)
680+
continue
681+
else:
682+
raise

drop-boxes/register-immunmonitoring-dropbox/register-immunmonitoring.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import checksum
1010
import re
11+
import time
1112
import os
1213
import ch.systemsx.cisd.etlserver.registrator.api.v2
1314
from java.io import File
@@ -103,4 +104,16 @@ def process(transaction):
103104
transaction.moveFile(incomingPath, dataSet)
104105

105106
#sample tracking section
106-
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(parentCode)
107+
wait_seconds = 1
108+
max_attempts = 3
109+
for attempt in range(max_attempts):
110+
try:
111+
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(parentCode)
112+
break
113+
except:
114+
print "Updating location for sample "+parentCode+" failed on attempt "+str(attempt+1)
115+
if attempt < max_attempts -1:
116+
time.sleep(wait_seconds)
117+
continue
118+
else:
119+
raise

drop-boxes/register-microarrays-dropbox/register-cel-dropbox.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import checksum
1010
import re
11+
import time
1112
import os
1213
import ch.systemsx.cisd.etlserver.registrator.api.v2
1314
from java.io import File
@@ -192,4 +193,16 @@ def process(transaction):
192193
os.remove(os.path.realpath(os.path.join(incomingPath,f)))
193194
#sample tracking section
194195
for code in trackingCodes:
195-
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(code)
196+
wait_seconds = 1
197+
max_attempts = 3
198+
for attempt in range(max_attempts):
199+
try:
200+
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(code)
201+
break
202+
except:
203+
print "Updating location for sample "+code+" failed on attempt "+str(attempt+1)
204+
if attempt < max_attempts -1:
205+
time.sleep(wait_seconds)
206+
continue
207+
else:
208+
raise

drop-boxes/register-mtb-data-dropbox/register-mtb-data-dropbox.py

+16-5
Original file line numberDiff line numberDiff line change
@@ -164,11 +164,22 @@
164164
#############################################################################
165165

166166
def update_sample_location_to_qbic(sampleId):
167-
"""Calls the sample status service and updates the
168-
location to QBiC and the status 'DATA AT QBiC'.
169-
"""
170-
# Update sample location
171-
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(sampleId)
167+
"""Calls the sample status service and updates the
168+
location to QBiC and the status 'DATA AT QBiC'.
169+
"""
170+
wait_seconds = 1
171+
max_attempts = 3
172+
for attempt in range(max_attempts):
173+
try:
174+
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(sampleId)
175+
break
176+
except:
177+
print("Updating location for sample " + sampleId + " failed on attempt "+str(attempt+1))
178+
if attempt < max_attempts -1:
179+
time.sleep(wait_seconds)
180+
continue
181+
else:
182+
raise
172183

173184

174185
def process(transaction):

drop-boxes/register-mzML-dropbox/register-mzml-dropbox.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import checksum
1010
import re
1111
import os
12+
import time
1213
import ch.systemsx.cisd.etlserver.registrator.api.v2
1314
from java.io import File
1415
from org.apache.commons.io import FileUtils
@@ -107,4 +108,16 @@ def process(transaction):
107108
transaction.moveFile(incomingPath, dataSet)
108109

109110
#sample tracking section
110-
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(parentCode)
111+
wait_seconds = 1
112+
max_attempts = 3
113+
for attempt in range(max_attempts):
114+
try:
115+
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(parentCode)
116+
break
117+
except:
118+
print "Updating location for sample "+parentCode+" failed on attempt "+str(attempt+1)
119+
if attempt < max_attempts -1:
120+
time.sleep(wait_seconds)
121+
continue
122+
else:
123+
raise

drop-boxes/register-nanopore-dropbox/register-nanopore.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import checksum
1010
import re
11+
import time
1112
import os
1213
import shutil
1314
from datetime import datetime
@@ -291,7 +292,19 @@ def createSampleWithData(transaction, space, parentSampleCode, mapWithDataForSam
291292
transaction.moveFile(absLogPath, logDataSet)
292293

293294
# Updates the sample location of the measured sample
294-
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(parentSampleCode)
295+
wait_seconds = 1
296+
max_attempts = 3
297+
for attempt in range(max_attempts):
298+
try:
299+
SAMPLE_TRACKER.updateSampleLocationToCurrentLocation(parentSampleCode)
300+
break
301+
except:
302+
print "Updating location for sample "+parentSampleCode+" failed on attempt "+str(attempt+1)
303+
if attempt < max_attempts -1:
304+
time.sleep(wait_seconds)
305+
continue
306+
else:
307+
raise
295308

296309
def process(transaction):
297310
"""Main ETL routine entry point"""

0 commit comments

Comments
 (0)