use a separate redis connection to store errors

a subscribed connection cannot issue other commands, so we need a
separate connection for storing errors