You'd go to a lot of trouble to do that
You could just have a script that uses the API and enables/disables each of the 2 pools as required
My approach stemmed from the fact that it was boozer who reported a range of horrible events like cards dying constantly, cgminer eating the whole available memory space and bringing the system to a screeching halt...
Oh and yes, using the API calls to interact with cgminer would be by far preferable - I never suggested using messenger pigeons or necromancy in the overseer script.
The rest - such as actually detecting the pool-related issues remains the same, doesn't it? At least until the PoolIsInTrouble API is added.
API for the winz. So glad that thing exists. Boy it certainly was a smart idea for *someone* to start a bounty for that.
*stroking DAT's head* good Death, wise Death. We're certainly glad to have thee aboard
Oh - you want to to add "Last Share Time" to each pool?
Each device already says it - I guess it wouldn't hurt to have each pool say it too ... maybe one day ... if I'm bored ... or someone needs it
However, the point was to actually handle swapping 2 pools and that is already easily possible.
Since you only have one active pool at a time:
Look at each device to determine when the last share was ... and the device "Utility".
Edit: I guess next we'll be telling pool OPs to run cgminer and get it to tell them when their pool has crapped out
But I should also mention that pools are unreliable anyway - you cannot know immediately that a pool is bad - it takes a bit of time.
If you decided every time a pool returned some problem or didn't reply, you'd be swapping pools faster than my API pool hopping script ...
Did I say that? No - never
When I implemented the pool control in the API I actually wrote a script that same night to hop before I even released the API code change
Just as a test example of course
That works
However, if you hop lots with cgminer you lose hashes - last time I tried it was about a 2%-3% drop in hash rate due to swapping pools.