Retrying transaction (queueitem) 15 minutes later

I’m coming up with a repeatable requirement form my users to try a transaction and if it is not “ready”, then check back 15 minutes later. I’m using dispatch/consumer. “Run” the report and check back to consume about 30 minutes later, but sometimes there needs to be a little more wait time if the server is “busy”. It seems postpone is not working as I understand… I can set the postpone, but I can’t retrieve that info later and divert the processing of the queueitem. Is the answer to mark the transactionitem as complete and clone/insert another for later?