o: use filtered event stream instead of statewait loop
Subscribe to agent-specific state events via streaming rdwr pattern. No more polling loop - single filtered subscription.
This commit is contained in:
parent
59f162a57e
commit
9d0b59671c
|
|
@ -320,8 +320,8 @@ cmd_tui() {
|
|||
tmux set-option -t "=${tmux_session}" status-right "starting... | %H:%M"
|
||||
tmux set-option -t "=${tmux_session}" status-right-length 64
|
||||
|
||||
while true; do
|
||||
ollie-9p read "${PREFIX}/statewait" 2>/dev/null | while read -r state; do
|
||||
# Subscribe to state events for this agent only
|
||||
echo "session.${s}.agent.${a}.state" | ollie-9p rdwrs event 2>/dev/null | while read -r topic state; do
|
||||
bg=""
|
||||
case "$state" in
|
||||
idle) bg="colour70" ;;
|
||||
|
|
@ -333,7 +333,6 @@ cmd_tui() {
|
|||
tmux set-option -t "=${tmux_session}" status-right-style "fg=default,bg=$bg" 2>/dev/null
|
||||
status=$(ollie-9p read "${PREFIX}/status" 2>/dev/null | head -n1)
|
||||
tmux set-option -t "=${tmux_session}" status-right "${status:-$state} | %H:%M" 2>/dev/null
|
||||
done
|
||||
done &
|
||||
local bg_pid=$!
|
||||
trap "kill $bg_pid 2>/dev/null" EXIT
|
||||
|
|
|
|||
Loading…
Reference in New Issue