【问题标题】:Puma 2.9.2 and rufus-scheduler 3.0.3 incompatibilityPuma 2.9.2 和 rufus-scheduler 3.0.3 不兼容
【发布时间】: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


【解决方案1】:

不,它有效。

我为你打包了这个示例项目:

https://github.com/jmettraux/for_rober

Rufus-scheduler 3.0.3 可以很好地与 Puma 2.9.2(Debian GNU/Linux 上的 Ruby 1.9.3)一起调度。

感谢您不要毫无事实地指责别人的工作。

如果真的有问题,我建议你去阅读http://www.chiark.greenend.org.uk/~sgtatham/bugs.html,然后再阅读一遍,三遍。它肯定会以您的母语提供。然后,如果您真的认为 rufus-scheduler 是罪魁祸首,请前往 https://github.com/jmettraux/rufus-scheduler/issues 打开详细的问题报告,当心发布蹩脚的“它不起作用”的材料,它只会给您带来负面反应。

更新

我强烈建议你在你的机器上克隆我的迷你项目并尝试它,然后在 cmets 中报告结果。详细信息在项目的 README.md 中。

更新

Roberto 正在尝试直接在https://github.com/puma/puma/issues/607 解决这个问题

【讨论】:

  • 嗨,我为帖子的标题道歉。我只是根据我在问题历史中看到的许多条目进行假设。我已经更新了它。感谢您的示例项目,我看到它正在工作。但是,与我的有一些不同之处。有关详细信息,请参阅我上面更新的帖子。
  • 不,你根本不需要 Sinatra。感谢您更改标题,这让我发疯了。如果您需要帮助,您有责任将所有相关事实摆在桌面上。如果您使用 Rails,则必须说明您使用的是哪个版本。请直接在您的问题下方查看我的评论。
【解决方案2】:

最后,看起来有一个小问题。彪马的家伙们已经很好地修复了它。

请看: https://github.com/puma/puma/issues/607

【讨论】:

  • 我仍然认为您应该清理问题本身。您添加的“我已添加 Sinatra”部分让未来的读者感到困惑。
猜你喜欢
  • 2017-05-23
  • 1970-01-01
  • 2014-12-04
  • 2015-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-25
  • 1970-01-01
相关资源
最近更新 更多