https://github.com/jmettraux/rufus-scheduler指出:
rufus-scheduler 是一个用于调度代码(作业)的 Ruby gem。它理解在特定时间、特定时间、每 x 时间或简单地通过 CRON 语句运行作业。
rufus-scheduler 不能替代 cron/at,因为它在 Ruby 内部运行。
那么如果它在 ruby 中运行呢?我不能在 ruby 中使用系统命令访问 cron 吗?
https://github.com/jmettraux/rufus-scheduler指出:
rufus-scheduler 是一个用于调度代码(作业)的 Ruby gem。它理解在特定时间、特定时间、每 x 时间或简单地通过 CRON 语句运行作业。
rufus-scheduler 不能替代 cron/at,因为它在 Ruby 内部运行。
那么如果它在 ruby 中运行呢?我不能在 ruby 中使用系统命令访问 cron 吗?
rufus-scheduler 是一个“in-ruby-process”调度程序。它根本不是 cron/at 的替代品。
rufus-scheduler 不是为那些不习惯在命令行中使用 cron/at 的人设计的,它是为那些愿意在他们的 ruby 进程中直接安排内容的人设计的(并理解它的含义)。
如果 rufus-scheduler 旨在替代 cron/at,它会为作业提供某种持久性,但事实并非如此。
另一种看法:http ://adam.heroku.com/past/2010/6/30/replace_cron_with_clockwork/
我认为 rufus-scheduler 适合那些不习惯使用系统的crontab
,at
或batch
.
cron
执行重复/定期作业,at
并且batch
用于一次性作业,因为这两个命令不支持自动重复命令。
所以 rufus-scheduler 正在创建其他命令的功能,但是如果您对命令行和其他命令感到满意,那么我认为它不会给您带来太多好处。
我没有使用它,但确实查看了源代码,我担心它似乎 rufus-scheduler 依赖于线程,这意味着 Ruby 将使您的应用程序在后台运行,等待适当的时间或间隔运行。如果进程被杀死,或者机器重新启动,看起来作业将不会运行,这与系统命令相比是一个主要区别,系统命令将在重新启动或应用程序不在内存中时持续存在。
我们在工作中经常使用 cron 来完成工作;它是一种行业标准工具,每台 Linux 和 Mac 计算机都在全天运行 cron 计划的作业,尽管大多数用户并不知道。