acoustic-van-30942
12/01/2023, 6:07 PMacoustic-van-30942
12/01/2023, 6:08 PMvictorious-lawyer-58417
12/06/2023, 4:56 PM@timeout and @retry is one way of getting rid of such casesvictorious-lawyer-58417
12/06/2023, 4:56 PMacoustic-van-30942
12/06/2023, 4:57 PM@timeout and @retry worked just fine. Thanks Ville!acoustic-van-30942
12/06/2023, 5:10 PM@timeout and @retry don't make sense, because we are artificially extending the execution time of the entire pipeline.victorious-lawyer-58417
12/06/2023, 5:16 PM@timeout and @catch - giving each task a tight time-budget for processingvictorious-lawyer-58417
12/06/2023, 5:21 PM@retry too to handle spurious infra issues. Since the timeout happens in the user code in your case, I'd leave @retry on the Metaflow side and handle timeouts in the user code.
You could do it e.g. using `multiprocessing.Pool.async_apply` and `wait` results for a few seconds. If the timeout passes, you can set an artifact self.corrupt_data = True to signal that this task didn't complete successfully, which you can then handle in the join stepvictorious-lawyer-58417
12/06/2023, 5:22 PM@retryacoustic-van-30942
12/06/2023, 5:22 PM