fix(#1147): break wait loop immediately on unknown task id
This commit is contained in:
parent
faff09ef23
commit
3dda286d2b
1 changed files with 10 additions and 7 deletions
|
|
@ -1029,13 +1029,16 @@ impl AgentServer {
|
|||
let deadline = tokio::time::Instant::now()
|
||||
+ std::time::Duration::from_secs(wait.min(MAX_WAIT_SECS));
|
||||
loop {
|
||||
if let Some(task) = crate::bash_runner::read_task(&args.id) {
|
||||
use crate::bash_runner::TaskStatus;
|
||||
if matches!(
|
||||
task.status,
|
||||
TaskStatus::Done | TaskStatus::TimedOut | TaskStatus::Interrupted
|
||||
) {
|
||||
break;
|
||||
match crate::bash_runner::read_task(&args.id) {
|
||||
None => break, // unknown ID — no point waiting
|
||||
Some(task) => {
|
||||
use crate::bash_runner::TaskStatus;
|
||||
if matches!(
|
||||
task.status,
|
||||
TaskStatus::Done | TaskStatus::TimedOut | TaskStatus::Interrupted
|
||||
) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if tokio::time::Instant::now() >= deadline {
|
||||
|
|
|
|||
Loading…
Reference in a new issue