首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails - Passenger和Nginx阻止rufus-scheduler在生产模式中进行调度

Rails - Passenger和Nginx阻止rufus-scheduler在生产模式中进行调度
EN

Stack Overflow用户
提问于 2015-01-07 22:02:44
回答 1查看 1.2K关注 0票数 1

我使用Rufus Scheduler每2分钟调用一次函数。

在开发模式下,当使用WEBrick运行rufus调度程序时,系统会按预期工作,并且我的函数每2分钟调用一次。

当我部署到运行passenger和NGINX的生产服务器上时,调度器不再调用该函数。

我假设这与线程有关,因为调度程序在一个单独的线程上运行,而这个线程可能会在我们的生产服务器上被销毁。

当Passenger和Apache一起使用时,我已经看到了类似问题的答案,但我无法提出在生产模式下使用passenger和NGINX运行rufus调度器的解决方案。

任何帮助都将不胜感激。

下面的代码设置rufus

代码语言:javascript
复制
# :nocov:
require 'rufus-scheduler'
include TwitterParser
unless ENV['NODAEMON'] || Rails.env != 'production'
  scheduler = Rufus::Scheduler.new
  TwitterParser.set_up

  scheduler.every '2m' do
    begin
      TwitterParser.parse_tweets
    rescue Twitter::Error::TooManyRequests => error
      puts 'Too Many Twitter requests, resets in: ' + error.rate_limit.reset_in.to_s
    end
  end
end
# :nocov:
EN

回答 1

Stack Overflow用户

发布于 2015-01-08 04:45:59

请阅读rufus-scheduler常见问题。

https://github.com/jmettraux/rufus-scheduler#faq

它包含有关Passenger + rufus-scheduler的(旧)文章的链接

对他们来说,Passenger的一位作者的回答可能会有所帮助:

rufus cron job not working in Apache/Passenger

玩开心点儿。

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

https://stackoverflow.com/questions/27821182

复制
相关文章

相似问题

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