【发布时间】:2014-11-25 15:52:19
【问题描述】:
我在 Ruby on Rails 4.1.4 网络应用程序中使用 Rufus Scheduler 3.0.3,它与 Unicorn 配合得很好。我搬到了 Puma,这很棒,但我意识到 Rufus 并没有和 Puma 合作(守护进程)。
我已阅读此问题 #183(评论)https://github.com/puma/puma/issues/183#issuecomment-59386038,该问题已针对早期版本关闭,但它仍然无法正常工作,我不清楚是否已经有修复。
我不知道在此期间是否有解决方法。
更新:显示的日志不多,我的 rufus 调度程序任务在与 Unicorn 一起运行时正在运行,但如果我将服务器更改为 Puma,它不会在我的服务器上运行任何自动化任务笔记本电脑。即使没有任何日志可显示。
我只是添加我当前的 Rufus 调度程序文件:
task_scheduler.rb:
begin
require 'rufus-scheduler'
scheduler = Rufus::Scheduler.new
#Secretary responsible for executing events every 60 seconds.
scheduler.every '60s' do
Secretary.executeEvents
end
# Statistics (Owner) calculation every 1 day.
scheduler.every '24h' do
StatisticsCalculator.updateOwnerStatistics
end
end
我是否缺少任何配置?
在 Puma 方面,我只有以下配置文件 config/puma/development.rb:
stdout_redirect 'log/puma.stdout.log', 'log/puma.stderr.log', true
我没有设置任何工人等...
【问题讨论】:
-
rufus-scheduler 问题 #183 不存在 github.com/jmettraux/rufus-scheduler/issues/183
-
尝试用一些简单的日志语句替换您的Secretary.executeEvents 以查看它们是否出现,使其非常简单并在此处报告您是如何做到的。最好只使用简单的“puts”。你没有提到你使用什么 Ruby,你使用什么操作系统,你没有告诉你如何启动 puma,你没有说你使用的是 Sinatra 还是 Rails,......醒醒!
-
我没有说问题 #183 在 Rufus 方面。但在 Puma 方面...... ruby 2.1.2p95,rails 4.1.4,Mac osx Mavericks。我使用 bundle exec puma -p 8080 -e development -S ~/puma -C config/puma/development.rb -d 启动了 Puma 守护进程
-
如下面的cmets所说,你不需要Sinatra,也不需要像我一样调用configure。不要混合一切。请像程序员一样思考,而不是像复制粘贴和尚。
-
我开始对你的 cmets 感到厌烦。如果我添加了那个代码,那是因为正如我告诉你的那样,我对 Sinatra 一无所知,所以我不知道它与它有关。我添加它只是为了尝试,因为它假设你是专家并且你在建议我。因此,我将删除它,但它仍然无法正常工作(当然在我的开发环境中)。我看到你试图编辑我的帖子,让人们清楚“可能”的问题不在 Rufus 方面。你是说最后有问题吗?那么,你的判断是什么?醒醒!!
标签: puma rufus-scheduler