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
......@@ -1473,6 +1473,7 @@ fn wait(cfg: *Cfg, matchers: std.ArrayList(SessionMatch)) !void {
14731473
14741474 var agg_exit_code: u8 = 0;
14751475 var last_print: i64 = 0;
1476+ var prev_done: i32 = 0;
14761477 while (true) {
14771478 agg_exit_code = 0;
14781479 var sessions = try util.get_session_entries(alloc, cfg.socket_dir);
......@@ -1518,11 +1519,14 @@ fn wait(cfg: *Cfg, matchers: std.ArrayList(SessionMatch)) !void {
15181519 }
15191520 continue;
15201521 }
1521- try stdout.print(
1522- "[{d}] completed task={s} exit_code={d}\n",
1523- .{ session.task_ended_at.?, session.name, session.task_exit_code.? },
1524- );
1525- try stdout.flush();
1522+ if (done >= prev_done) {
1523+ // Newly completed — print immediately
1524+ try stdout.print(
1525+ "[{d}] completed task={s} exit_code={d}\n",
1526+ .{ session.task_ended_at.?, session.name, session.task_exit_code.? },
1527+ );
1528+ try stdout.flush();
1529+ }
15261530 if (session.task_exit_code != 0) {
15271531 agg_exit_code = session.task_exit_code orelse 0;
15281532 }
......@@ -1566,6 +1570,7 @@ fn wait(cfg: *Cfg, matchers: std.ArrayList(SessionMatch)) !void {
15661570 }
15671571 }
15681572
1573+ prev_done = done;
15691574 std.Thread.sleep(1000 * std.time.ns_per_ms);
15701575 }
15711576