Runs one stock-fetch round: fires a quote per symbol, collects them in display
order, and sends the packed strip once the last lands.
Built so an unfinished fetch can never get stuck and block every fetch after it. A
symbol that throws right away counts as a failed quote, a watchdog force-closes a
round whose callback never arrives, and a forced round takes over from one that is
still running so the old round's late replies can't reopen it or send twice.
Runs one stock-fetch round: fires a quote per symbol, collects them in display order, and sends the packed strip once the last lands.
Built so an unfinished fetch can never get stuck and block every fetch after it. A symbol that throws right away counts as a failed quote, a watchdog force-closes a round whose callback never arrives, and a forced round takes over from one that is still running so the old round's late replies can't reopen it or send twice.