66import org .apache .logging .log4j .Logger ;
77import org .biojava .nbio .core .exceptions .CompoundNotFoundException ;
88import org .biojava .nbio .core .sequence .DNASequence ;
9+ import org .jetbrains .annotations .Nullable ;
910import org .labkey .api .collections .CaseInsensitiveHashMap ;
1011import org .labkey .api .data .CompareType ;
1112import org .labkey .api .data .Container ;
1920import org .labkey .api .exp .api .ExpData ;
2021import org .labkey .api .exp .api .ExperimentService ;
2122import org .labkey .api .module .ModuleContext ;
23+ import org .labkey .api .pipeline .CancelledException ;
24+ import org .labkey .api .pipeline .PipelineJob ;
2225import org .labkey .api .query .FieldKey ;
2326import org .labkey .api .security .User ;
2427import org .labkey .api .sequenceanalysis .RefNtSequenceModel ;
@@ -237,10 +240,10 @@ public void updateBarcodeRC(final ModuleContext moduleContext)
237240 @ DeferredUpgrade
238241 public void migrateSequenceDirs (final ModuleContext moduleContext )
239242 {
240- doSequenceMigration (moduleContext .getUpgradeUser (), _log , 100000 );
243+ doSequenceMigration (moduleContext .getUpgradeUser (), _log , 100000 , null );
241244 }
242245
243- public static void doSequenceMigration (User u , Logger log , int maxSequences )
246+ public static void doSequenceMigration (User u , Logger log , int maxSequences , @ Nullable PipelineJob job )
244247 {
245248 try
246249 {
@@ -262,6 +265,16 @@ public static void doSequenceMigration(User u, Logger log, int maxSequences)
262265 if (processed % 1000 == 0 )
263266 {
264267 log .info ("{} of {} sequence files migrated" , processed , nts .size ());
268+ if (job != null )
269+ {
270+ job .updateStatusForTask ();
271+ if (job .isCancelled ())
272+ {
273+ throw new CancelledException ();
274+ }
275+
276+ job .setStatus (PipelineJob .TaskStatus .running , "Processed " + processed + " of " + nts .size ());
277+ }
265278 }
266279
267280 ExpData legacyExpData = ExperimentService .get ().getExpData (nt .getSequenceFile ());
0 commit comments