首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linode ubuntu中cron作业的Rufus-Scheduler问题

linode ubuntu中cron作业的Rufus-Scheduler问题
EN

Stack Overflow用户
提问于 2013-06-14 15:58:06
回答 1查看 458关注 0票数 0

我的初始化器/task_Scheduler.rb

代码语言:javascript
复制
require 'rubygems'
require 'rufus/scheduler'

scheduler = Rufus::Scheduler.start_new

scheduler.cron '*/5 * * * *' do
  Project.cron_for_report
end

我的问题是我每5分钟就会收到12封报告。我应该每5分钟才能收到一封邮件。我应该使用像互斥量这样的东西吗??请给出一些示例代码。

请帮帮忙。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-06-15 06:31:39

这听起来不像是rufus调度器的问题,它听起来像是你在运行12个Rails进程,但是你不知道你在运行Rails的是什么(Unicorn,Passenger,... ?)。

因为你在Ubuntu上运行,所以你可以自由地使用crond。你为什么不看看https://github.com/javan/whenever呢?它将允许您从Rails应用程序中利用crond的优势。

rufus调度器很有趣,但是如果您只是在每次启动Rails时启动它,那么您最终将为每个Rails进程创建一个rufus调度器实例,除非您在初始化器中放置一些逻辑来避免这种情况(锁定文件等)。您的逻辑必须足够智能,以避免锁指向失效的调度器,从而阻止启动新的、需要的、调度器等。

由于您部署在Linode/Ubuntu上,因此您可以自由考虑其他替代方案,如consider。

对不起,没有示例代码,我不想让你成为一个复制-粘贴程序员。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17103752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档