首页 > 代码库 > rufus/scheduler
rufus/scheduler
之前先在initializers 文件夹下建立了一个task.rb ,rails服务启动的时候执行,本地没问题,可是服务器上启动了3个进程,会执行3遍,解决方法是 把task.rb 放到 script/文件夹下,然后在项目根目录执行 ruby script/task.rb production &。以为ok了。but又出问题了,
我的日志输出路径是
Logger.new("#{Rails.root_to_s}/log/test.log"),运行脚本的时候报错 uninitialized constant RAILS ,解决方法是在task.rb文件头 加上下面两行:
ENV[‘RAILS_ENV‘] = ARGV.first || ENV[‘RAILS_ENV‘] || ‘development‘
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
最下面还要加上
scheduler.join
但是我用下面的方法就可以了:
在script下新建task.rb文件,内容如下
require ‘rubygems‘require ‘rufus/scheduler‘scheduler = Rufus::Scheduler.newscheduler.every("2s") do puts Time.nowendscheduler.join
这样后在工程根目录执行ruby script/task.rb &就可以执行了,可以看到输出。 用ctrl + d可以结束进程
但是我在config/initializers文件夹下新建task,总是提示require找不到文件。。。哎。。。。失败啊。。。。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。