ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

ruby-on-rails-rufus调度程序未在生产中运行

2019-10-12 17:51:27  阅读:341  来源: 互联网

标签:linux ruby-on-rails scheduled-tasks passenger


我有在Nginx&下运行的Rails服务器乘客.我的sheduler.rb看起来像这样

require 'rufus-scheduler'
my_awesome_job = Rufus::Scheduler.new

my_awesome_job.cron '59 23 * * *' do
    #do something
end

如果我将工作设置为接下来的2-3分钟(用于测试),则一切正常.但是,正如我在生产中需要的那样,它并不是每天23:59开始的.我不知道问题出在哪里.

谢谢.

解决方法:

此问题最有可能是由R​​ufus调度程序后台线程在Phusion Passenger生成子进程(作为智能生成方法的一部分)之后终止而导致的.

读取Spawning methods explained.
您正遭受的特定问题可能是Smart spawning caveat #2: the need to revive threads.

您需要使用文档中的机制来恢复Rufus调度程序线程.我不确定您需要进行哪个API调用,因此也许您可以询问Rufus调度程序作者.

另外,您可以使用“直接”产卵方法.它的效率较低,但是避免了诸如此类的兼容性问题.

标签:linux,ruby-on-rails,scheduled-tasks,passenger
来源: https://codeday.me/bug/20191012/1901975.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有