首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试Rufus调度器

调试Rufus调度器
EN

Stack Overflow用户
提问于 2013-08-08 00:28:56
回答 2查看 6.4K关注 0票数 1

我在我的Rails控制台中执行此操作:

代码语言:javascript
复制
job = scheduler.at 1.minute.from_now do Service.log.debug 'scheduler works' end
job.schedule_info
=> Wed, 07 Aug 2013 16:14:46 UTC 00:00

scheduler在其他文件中定义:

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

def scheduler
  @scheduler ||= Rufus::Scheduler.start_new
end

当我在控制台中运行时:

代码语言:javascript
复制
Service.log.debug 'scheduler works'

服务日志文件已写入。

问题

代码语言:javascript
复制
scheduler.at 1.minute.from_now do Service.log.debug 'scheduler works' end

在一分钟后不写入日志。我遗漏了什么?我该如何调试它呢?

实际问题

我在EC2中有一台服务器,它似乎已经关闭,计划的任务也没有运行。

问题是,在我的开发环境中,我测试了一个在一分钟内运行的任务,它工作了。这是在服务器中而不是在控制台中。在console中,正如我所提到的,它正在失败。

开发环境

ruby 1.9.3p327 (37606-11-10修订版) x86_64-darwin12.0.0

瘦1.5.0

远程环境

ruby 1.9.3p429 (40747-05-15修订版) x86_64-linux

apache2 2.2.22

乘客4.0.5

宝石

rails 3.2.8

rufus-调度器2.0.18

EN

回答 2

Stack Overflow用户

发布于 2013-08-10 05:49:22

这是一个经典的例子:

https://groups.google.com/group/rufus-ruby/search?group=rufus-ruby&q=passenger&pli=1 https://groups.google.com/forum/#!searchin/rufus-ruby/passenger (新的谷歌群组)

(不幸的是,这些讨论中的大多数链接都是死的(4年前...))

您必须检查您的乘客配置,以了解它的行为。您必须确保启动rufus-scheduler线程的进程以某种方式保留下来。

花时间阅读乘客配置/手册,并对其进行实验调整。

我依稀记得这些可能会有帮助:

http://www.modrails.com/documentation/Users%20guide%20Apache.html#PassengerPoolIdleTime http://www.modrails.com/documentation/Users%20guide%20Apache.html#PassengerMinInstances

Ajet在Rufus Scheduler not running中的回答很有趣,他主张:

代码语言:javascript
复制
RailsAppSpawnerIdleTime 0
PassengerMinInstances 1
票数 2
EN

Stack Overflow用户

发布于 2013-09-18 07:14:38

我不得不在我的Dashing应用程序(使用rufus- VirtualHost )中使用Apache调度器中的"PassengerSpawnMethod direct" setting来让它正常工作。

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

https://stackoverflow.com/questions/18108719

复制
相关文章

相似问题

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