How to implement a queue with a scheduled time?

Good day!
Instead of solving in the form of RabbitMQ has implemented a more compact version with the methods of the Redis blpop and rpush.
The bottom line is that the server in the background interrogates some of the pages.
If they return incorrect response - to try to repeat the task in 10 minutes.
It turns out, in this case blpop/rpush will not work, as everything is instantly.
What I see the solution:
1) Run every 10 minutes the script through the crowns. Disadvantages - there is no guarantee that it would work with the right range
2) to create another queue in the Radish, which in addition to links to indicate the time and every few minutes to check - isn't it time to re-send the request
3) to implement the same in MySQL

Perhaps there are more elegant ways of implementing such task?
July 9th 19 at 11:09
1 answer
July 9th 19 at 11:11
Solution
There are different ways. Normally beanstalk or RabbitMQ. In both there is a functional deferral.

Find more questions by tags MySQLPHPRedis