rufus-scheduler和cron有什么区别?

时间:2011-03-30 05:28:27

标签: ruby cron rufus-scheduler

https://github.com/jmettraux/rufus-scheduler声明:

  

rufus-scheduler是一个用于安排代码片段(作业)的Ruby gem。它了解在某个时间,在某个时间,每隔x时间或仅通过CRON声明运行工作。

     

rufus-scheduler不能替代cron / at,因为它在Ruby内部运行。

那么如果它在红宝石中运行呢?我不能使用ruby中的系统命令访问cron吗?

2 个答案:

答案 0 :(得分:10)

rufus-scheduler是一个“in-ruby-process”调度程序。它根本不是一个替代品。

rufus-scheduler不适合那些不熟悉cron / at命令行的人,它适用于那些愿意直接在ruby过程中安排内容的人(并理解它的含义)。

如果rufus-scheduler是cron / at的替代品,它会为作业提供某种持久性,但事实并非如此。

另一种观点:http://adam.heroku.com/past/2010/6/30/replace_cron_with_clockwork/

答案 1 :(得分:4)

我认为rufus-scheduler适合那些不习惯使用系统crontabatbatch的人。

cron执行重复/定期作业,atbatch用于一次性作业,因为这两个命令不支持自动重复命令。

因此rufus-scheduler正在创建其他命令的功能,但如果您对命令行和其他命令感到满意,那么在我看来它并不会给您带来太大的影响。

我没有使用它,但确实查看了源代码,我担心看起来rufus-scheduler依赖于线程,这意味着Ruby会让你的应用程序在后台运行,等待适当的时间或间隔跑步。如果进程被终止,或者机器重新启动,则看起来该作业将无法运行,这与系统的命令相比有很大的不同,系统的命令将在重新启动或应用程序不在内存中时持续存在。

我们在工作中经常使用cron;它是一个行业标准工具,每台Linux和Mac计算机都在全天运行cron预定作业,但大多数用户都不知道。

相关问题