What is the most efficient way to execute recursive complex queries?

Make the user query when the job is submitted and put all matching subscribers in a queue. At the end of the day run through the queue once and send the mails.