в чем разница между руфус-планировщиком и кроном? - PullRequest
3 голосов
/ 30 марта 2011

https://github.com/jmettraux/rufus-scheduler утверждает, что:

rufus-scheduler - это Ruby-гем для планирования фрагментов кода (заданий).Он понимает выполнение задания в определенное время, в определенное время, КАЖДЫЙ раз или просто с помощью оператора CRON.

rufus-scheduler не является заменой для cron / at, поскольку он работает внутри Ruby.

так что, если он работает внутри рубина?я не могу получить доступ к cron, используя системную команду в ruby?

Ответы [ 2 ]

10 голосов
/ 30 марта 2011

rufus-scheduler является планировщиком "в-ruby-процессе". Это не означает, что cron / при замене вообще.

rufus-scheduler не был предназначен для людей, которым не нравится cron / at в командной строке, он был предназначен для людей, желающих планировать вещи прямо внутри своего процесса ruby ​​(и понимать, что это означает).

Если бы rufus-scheduler предназначался для замены cron / at, это обеспечило бы некоторую устойчивость для заданий, но это не так.

Еще один вариант: http://adam.heroku.com/past/2010/6/30/replace_cron_with_clockwork/

4 голосов
/ 30 марта 2011

Я думаю, что rufus-scheduler предназначен для тех людей, которым некомфортно использовать системные crontab, at или batch.

cron выполняет повторяющиеся / периодические задания, а at и batch предназначены для одноразовых заданий, поскольку эти две команды не поддерживают автоматически повторяющиеся команды.

Таким образом, rufus-scheduler создает функциональность других команд, но, если вы чувствуете себя комфортно в командной строке и с другими командами, это, на мой взгляд, мало что дает вам.

Я не использовал его, но просмотрел исходный код, и меня беспокоит то, что он кажется, что rufus-scheduler опирается на потоки, что означает, что Ruby будет поддерживать ваше приложение в фоновом режиме, ожидая соответствующеговремя или интервал для запуска.Если процесс завершается или машина перезагружается, похоже, что задание не запустится, что является существенным отличием по сравнению с системными командами, которые будут сохраняться при перезагрузках или если приложение не находится в памяти.

Мымного использовать cron на работе для работы;Это инструмент промышленного стандарта, и каждый компьютер с Linux и Mac выполняет запланированные задания cron в течение дня, хотя большинство пользователей этого не знают.

...