Use task queues to retry on scanning

And prepare for scanning multiple endpoints. Want to see how much this
costs before I do that though.