@PMunch thanks for recommending at!! @viud09 it's a lightweight persistent task scheduler.
I have an unpublished comment system that uses at combined with limdb for that exact purpose- in fact, having a rate limiter is the original use case why limdb AND at were written.
I would recommend to explicitly call the delay proc in each endpoint. No magic to forget about, more clarity, and if you need an endpoint to work differently, it's straight forward.