basically what the rule should do is if pool1 is unabavalibe for 2 minutes use pool2. i think you may write down the time when pool1 is down in table (since it is shared across connections). then when another request is coming, compare current time with the time in the table and take whatever action you want.