StatusPush batches events normally processed and sends it to the
serverPushCb callback every bufferDelay seconds. The callback
should pop items from the queue and then queue the next callback.
If no items were poped from self.queue, retryDelay seconds will be
waited instead.