У меня множество пользователей с множеством задач, получается крон будет каждые 10 минут переться в БД и делать выборку по всем событиям всех пользователей...
Все события в одной таблице.
1 раз в 10 минут заходите в БД и делаете выборку, где время отправки события меньше текущего и сообщение не было добавлено в очередь(новое) и добавляете в очередь
Вы жестко завязываете работу приложения на другую софтину.