diff options
author | metamuffin <metamuffin@disroot.org> | 2025-05-18 14:32:55 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-05-18 14:32:55 +0200 |
commit | 439f184ac655eb649f056cdf0b9326dcc0af4648 (patch) | |
tree | 76746359bbfc760fd4a8d52b3c69c6759b699ad9 /src/worker_ws.rs | |
parent | 0669d3871297abae36f0456e0d0042bf861afce8 (diff) | |
download | isda-439f184ac655eb649f056cdf0b9326dcc0af4648.tar isda-439f184ac655eb649f056cdf0b9326dcc0af4648.tar.bz2 isda-439f184ac655eb649f056cdf0b9326dcc0af4648.tar.zst |
webui ws
Diffstat (limited to 'src/worker_ws.rs')
-rw-r--r-- | src/worker_ws.rs | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/worker_ws.rs b/src/worker_ws.rs index 5f0e47c..526de82 100644 --- a/src/worker_ws.rs +++ b/src/worker_ws.rs @@ -163,8 +163,9 @@ impl State { worker.task_kinds = task_kinds; } WorkerRequest::Metadata { key, data } => { - let m = self.metadata.entry(key).or_default(); + let m = self.metadata.entry(key.clone()).or_default(); m.extend(data); + self.send_webui_task_update(&key); } WorkerRequest::Enqueue { key, @@ -173,12 +174,14 @@ impl State { if ignore_complete { if !self.loading.contains(&key) { self.complete.remove(&key); - self.queue.insert(key); + self.queue.insert(key.clone()); + self.send_webui_task_update(&key); self.dispatch_work(); } } else { if !(self.complete.contains(&key) || self.loading.contains(&key)) { - self.queue.insert(key); + self.queue.insert(key.clone()); + self.send_webui_task_update(&key); self.dispatch_work(); } } @@ -187,11 +190,13 @@ impl State { if force { self.queue.remove(&key); self.loading.remove(&key); - self.complete.insert(key); + self.complete.insert(key.clone()); + self.send_webui_task_update(&key); } else { if worker.assigned_tasks.remove(&key) { self.loading.remove(&key); - self.complete.insert(key); + self.complete.insert(key.clone()); + self.send_webui_task_update(&key); } else { bail!("task was not assigned") } @@ -231,6 +236,7 @@ impl State { for (w, key) in to_send { self.queue.remove(&key); self.loading.insert(key.clone()); + self.send_webui_task_update(&key); self.send_to_worker( w, WorkerResponse::Work { |