Имеет ли для запуска внутри Ruby? cron
встроен в компьютеры Mac и Linux, а подобные действия доступны для Windows и могут выполнять большую часть того, что вы просите.
Возможность повторить попытку, если прогон пропущен, возможно, сохраняя отметку даты и времени последнего запуска и освобождая от ответственности, если вы не ждали 24 часа или не прошли полночь. Запустите приложение ежечасно, сделайте так, чтобы код проверял время последнего запуска и выходили или продолжали в зависимости от значения.
В противном случае всякий раз, когда драгоценный камень может помочь.