Corrected timeout behavior in worker service
Worker service was incorrectly polling, not using the interval unless a message was to be processed. Corrected this so messages will be processed quickly and the interval delay is only in the case where there are no messages or a failure.