Commit 0f94881
Eric Bower
·
2026-05-16 11:27:49 -0400 EDT
parent e2a707a
chore(wait): when looping tasks only print the non-completed tasks
1 files changed,
+10,
-5
+10,
-5
1@@ -1473,6 +1473,7 @@ fn wait(cfg: *Cfg, matchers: std.ArrayList(SessionMatch)) !void {
2
3 var agg_exit_code: u8 = 0;
4 var last_print: i64 = 0;
5+ var prev_done: i32 = 0;
6 while (true) {
7 agg_exit_code = 0;
8 var sessions = try util.get_session_entries(alloc, cfg.socket_dir);
9@@ -1518,11 +1519,14 @@ fn wait(cfg: *Cfg, matchers: std.ArrayList(SessionMatch)) !void {
10 }
11 continue;
12 }
13- try stdout.print(
14- "[{d}] completed task={s} exit_code={d}\n",
15- .{ session.task_ended_at.?, session.name, session.task_exit_code.? },
16- );
17- try stdout.flush();
18+ if (done >= prev_done) {
19+ // Newly completed — print immediately
20+ try stdout.print(
21+ "[{d}] completed task={s} exit_code={d}\n",
22+ .{ session.task_ended_at.?, session.name, session.task_exit_code.? },
23+ );
24+ try stdout.flush();
25+ }
26 if (session.task_exit_code != 0) {
27 agg_exit_code = session.task_exit_code orelse 0;
28 }
29@@ -1566,6 +1570,7 @@ fn wait(cfg: *Cfg, matchers: std.ArrayList(SessionMatch)) !void {
30 }
31 }
32
33+ prev_done = done;
34 std.Thread.sleep(1000 * std.time.ns_per_ms);
35 }
36