Skip to content

Commit 7989d54

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 222555d commit 7989d54

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
@@ -202,7 +202,9 @@ def scale_out_facade(self, n: int) -> List[str]:
202202
block_ids.append(block_id)
203203

204204
except Exception as ex:
205-
self._simulated_status[block_id] = JobStatus(JobState.FAILED, "Failed to start block {}: {}".format(block_id, ex))
205+
failed_status = JobStatus(JobState.FAILED, "Failed to start block {}: {}".format(block_id, ex))
206+
self._simulated_status[block_id] = failed_status
207+
self._status[block_id] = failed_status
206208

207209
self.send_monitoring_info(monitoring_status_changes)
208210
return block_ids

0 commit comments

Comments
 (0)