首页 文章

Ruby on rails计划任务

提问于
浏览
6

这是我第一次安排任务,我不确定最佳实施(或正确的实施) .

My Goal: 我在带有twilio的rails 4应用程序设置上有一个红宝石并部署在Heroku上 . 我希望应用程序每周一次使用自定义文本消息(由数据库中的信息编写和创建)自动为所有用户发送文本 .

从研究中我得到了以下宝石:WheneverRufus-Scheduler .

我相信这两个宝石都可以完成工作,但在阅读Rufus的文档时:“请注意:rufus-scheduler不是cron替代品”我试图理解我想要的是否确实是一个cron工作或一个“Rufus-Scheduler” .

I am left with the following questions: 什么是cron作业,何时适合使用它?为什么Rufus-Scheduler不是cron替代品,它有什么不同的做法?我应该使用哪一个?

4 回答

  • 2

    rufus-scheduler不是cron替代品

    可以扩展到“rufus-scheduler从未被写为cron的替代品” . 更重要的信息是“你是一名开发人员,作为一名开发人员,你应该了解你继承的环境及其附带的工具 . 你应该知道何时使用它们,什么时候模仿它们,何时更换它们 . ”

    Rufus-scheduler理解Cron的“* * * * *”语法 . 这导致一些人说“rufus-scheduler试图成为Cron的替代者” . 它可以更好地表述为“有些人滥用rufus-scheduler而不是思考(知道)老忠实的Cron在那种情况下会更好” .

    要成为一名优秀的开发人员,你应该认真考虑一些* nix系统管理员技能,否则你将会很痛苦 . 它可以像“在系统中的VirtualBox中安装,运行和管理linux盒子”一样简单 .

    rufus-scheduler计划在Ruby进程中运行 . 在一个vanilla世界中,一个在同一个Ruby进程中运行rufus-scheduler来为http请求提供服务(Rails或Sinatra Web应用程序),哦,oops,当应用程序不运行时,调度不会运行 .

    Cron是您的* nix操作系统提供的服务 . 主机上的其他应用程序和服务依赖于它 . Cron读取其crontab并在给定时间运行其中指示的脚本 . 由于优秀的Whenever,可以告诉Cron在Rails应用程序中运行脚本 .

    您可能也会对此感兴趣:https://devcenter.heroku.com/articles/clock-processes-ruby

  • 0

    About Cron:

    Cron是在nix系统上执行计划任务的程序的名称 . 什么是计划任务在Windows中,Cron在概念层面为Linux做类似的事情.Cron是Linux或UNIX中最有用的工具之一,如操作系统 . cron服务(守护程序)在后台运行并不断检查/ etc / crontab文件和/etc/cron./目录 . 它还检查/ var / spool / cron /目录 .

    For Scheduling tasks on Heroku

    好消息是,在Heroku上有一个名为Scheduler的东西,它是一个附加组件,用于在预定的时间间隔在您的应用程序上运行作业,就像传统服务器环境中的cron一样 . 所以你真的不需要随时随地使用cron或gem来玩弄/玩家 . 只需在Heroku上使用Scheduler插件即可 .

    欲了解更多信息,请参阅:https://devcenter.heroku.com/articles/scheduler

  • 1

    cron作业是使用cron软件在自动时间表上运行的程序 .

    Rufus-Scheduler与cron不同,因为它在Ruby进程内部运行 .

    对于你所描述的,我相信要么会好的 .

  • 1

    whenever 允许您编写将在crontab文件中转换的ruby代码,该文件是指定一组命令和每个命令的频率的文件 . 该文件由cron使用 .

    rufus-scheduler 是纯ruby,你写ruby并且作业在ruby中运行,例如在你的应用程序循环中调用 scheduler.join ,或者在另一个调用 ruby your/rufus_scheduler_script.rb 的线程中 .

    在我看来他们做同样的事情,使用cron你正在使用linux命令,但我没有看到任何其他区别 .

    other options too,根据我的经验,我遇到了rufus-scheduler的问题,而且每当(他们在我的Rails应用程序中找不到类,但也许只是一个怪癖)时,另一方面发条工作对我有用 .

相关问题