Можно использовать гем Sidekiq - аналог крона для Rails.
Когда пользователь добавляет запись - добавлять задание в Sidekiq, с задержкой, которую указал пользователь.
Подробнее здесь - Sidekiq
Запускать в кроне, в каждом запуске обрабатывать несколько записей. Главное не забывать про блокировки, чтоб хорошо работало, если вдруг сразу два процесса окажутся запущены - и в плане быстродействия и в плане целостности данных. Я обычно использую блокировки на уровне БД (MySQL GET_LOCK)