redo the polling of jobs and batchjobs
Multiple problems:
currently, if there is a significant pause between the jobs, (but a batch job is still running) the polling stops because it thinks everything is done
There are two implementations of the polling (magic menu and files) which I find annoying, so probably it should move to the store? Or at the very least abstracted away into a general function.
Currently, it is implemented as a recursive function (seemed sensible at the time) but in fact if it is called from multiple sources then obviously multiple polling call stacks are created so likely a setInterval()
with a clean start/stop interface makes more sense.
Oh and there should probably a very slow default polling mode for even if it thinks nothing happens/runs to avoid getting stuck in dysfunctional state.