Skip to content

Commit 91f814b

Browse files
committed
the job submission PENDING status update has this principle so that scaling strategy will see submitted jobs immediately, before a provider status refresh happens. this makes the scaling code immediately aware of what just happened, rather than for one poll period acting as if nothing had happened.
When making changes that will later be reflected in the _status table, then those changes should be immediately also be made in the cached _status table eplciitly. before this PR, this code path does not happen in the case of a failed submission, where a failure status will appear when a refresh happens, but not before. in that case the scaling code will act as if the failed submission did not happen and will continue to submit repeatedly until a refresh happens much later. this PR makes _status be updated in this case too. fixes 3235
1 parent 6755830 commit 91f814b

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

parsl/executors/status_handling.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,9 @@ def scale_out_facade(self, n: int) -> List[str]:
212212
block_ids.append(block_id)
213213

214214
except Exception as ex:
215-
self._simulated_status[block_id] = JobStatus(JobState.FAILED, "Failed to start block {}: {}".format(block_id, ex))
215+
failed_status = JobStatus(JobState.FAILED, "Failed to start block {}: {}".format(block_id, ex))
216+
self._simulated_status[block_id] = failed_status
217+
self._status[block_id] = failed_status
216218

217219
self.send_monitoring_info(monitoring_status_changes)
218220
return block_ids

0 commit comments

Comments
 (0)