Adding IPs to a region which has full scans running will re-add them
Might have to implement a running status of some kind instead of just checking for
scan = self.where(has_full_scan: false).all
This is a good point. Not sure how to do it, given that sometimes things "fall through the cracks" if they don't get re-queued in Sidekiq because a Tendril simply dropped off the network (rather than died in some other fashion), so we want to be able to handle that case as well. Perhaps flag it in the database, and then have a "clean up" button or something?
Unfortunately, I don't think Sidekiq has a way of checking up on jobs, but I should look in to that. If it does, we could just store the Sidekiq job ID, check if it was still running, and queue if it wasn't. That would be nice, if a bit resource-intensive if lots of jobs were running. (It's Redis, though, so it shouldn't be too bad.)