Hello,
I have a solution for this. I have done such a thing before.
I can program this to fit your requirements to the letter. The main 2 points are :
1- Have a task run every 10 seconds, if the previous task isn't already running.
2- Do it in a way that isn't resource intensive on CPU and memory and doesn't cause and overload on the DB side.
I can do this.