diff --git a/aiida/engine/processes/calcjobs/tasks.py b/aiida/engine/processes/calcjobs/tasks.py index 48d164bbae..3a67ceb915 100644 --- a/aiida/engine/processes/calcjobs/tasks.py +++ b/aiida/engine/processes/calcjobs/tasks.py @@ -98,7 +98,7 @@ async def do_upload(): except PreSubmitException: raise except (plumpy.futures.CancelledError, plumpy.process_states.Interruption): - pass + raise except Exception: logger.warning(f'uploading CalcJob<{node.pk}> failed') raise TransportTaskException(f'upload_calculation failed {max_attempts} times consecutively') @@ -139,15 +139,16 @@ async def do_submit(): try: logger.info(f'scheduled request to submit CalcJob<{node.pk}>') + ignore_exceptions = (plumpy.futures.CancelledError, PreSubmitException, plumpy.process_states.Interruption) result = await exponential_backoff_retry( do_submit, initial_interval, max_attempts, logger=node.logger, - ignore_exceptions=plumpy.process_states.Interruption + ignore_exceptions=ignore_exceptions ) - except plumpy.process_states.Interruption: - pass + except (plumpy.futures.CancelledError, plumpy.process_states.Interruption): + raise except Exception: logger.warning(f'submitting CalcJob<{node.pk}> failed') raise TransportTaskException(f'submit_calculation failed {max_attempts} times consecutively') @@ -201,14 +202,15 @@ async def do_update(): try: logger.info(f'scheduled request to update CalcJob<{node.pk}>') + ignore_exceptions = (plumpy.futures.CancelledError, PreSubmitException, plumpy.process_states.Interruption) job_done = await exponential_backoff_retry( do_update, initial_interval, max_attempts, logger=node.logger, - ignore_exceptions=plumpy.process_states.Interruption + ignore_exceptions=ignore_exceptions ) - except plumpy.process_states.Interruption: + except (plumpy.futures.CancelledError, PreSubmitException, plumpy.process_states.Interruption): raise except Exception: logger.warning(f'updating CalcJob<{node.pk}> failed') @@ -270,14 +272,15 @@ async def do_retrieve(): try: logger.info(f'scheduled request to retrieve CalcJob<{node.pk}>') + ignore_exceptions = (plumpy.futures.CancelledError, plumpy.process_states.Interruption) result = await exponential_backoff_retry( do_retrieve, initial_interval, max_attempts, logger=node.logger, - ignore_exceptions=plumpy.process_states.Interruption + ignore_exceptions=ignore_exceptions ) - except plumpy.process_states.Interruption: + except (plumpy.futures.CancelledError, plumpy.process_states.Interruption): raise except Exception: logger.warning(f'retrieving CalcJob<{node.pk}> failed')