optional callback on queue.end