Have you seen the section in our manual on recursive scheduled workflows? I think this might be the direction you’d want to head with this. The general idea is that you’d create a backend workflow that reschedules itself to current date/time +minutes x. Keep in mind that depending on the number of things in this database, that could become relatively heavy on your app’s capacity.
Another approach, depending on what you’re trying to accomplish would be a database change trigger where you update the ranking of a thing automatically anytime something else about the thing is updated.
The approach would be similar for push notifications. You could create a backend workflow that reschedules itself. Each run might have a single action that schedules a backend workflow on a list (that list being any unseen notifications) and then a final action that reschedules itself for the next round using a similar approach to above.