ruby-on-rails – 在没有rails环境的情况下加载resque worker?
发布时间:2020-12-17 02:31:24 所属栏目:百科 来源:网络整理
导读:我所拥有的resque工作并不依赖于Rails中的任何东西,但是我很难在不使用rails的情况下启动工作.我看过这篇文章,但没有帮助( ruby resque without loading rails environment) 这是我目前的rake文件: require "resque/tasks"task "resque:setup" do root_path
我所拥有的resque工作并不依赖于Rails中的任何东西,但是我很难在不使用rails的情况下启动工作.我看过这篇文章,但没有帮助(
ruby resque without loading rails environment)
这是我目前的rake文件: require "resque/tasks" task "resque:setup" do root_path = "#{File.dirname(__FILE__)}/../.." require "#{root_path}/app/workers/myworker.rb" end #task "resque:setup" => :environment 评论的任务将加载Rails环境,一切正常,但这不是我想要的.当运行rake resque:work我得到这个错误: rake aborted! No such file to load -- application_controller Tasks: TOP => resque:work => resque:preload 解决方法
如果你只添加了一个lib / tasks / resque.rake文件而没有修改你的Rakefile,那么当你调用rake resque:work时,你仍然会加载你的Rails环境.试试这个Rakefile:
unless ENV['RESQUE_WORKER'] == 'true' require File.expand_path('../config/application',__FILE__) My::Application.load_tasks else ROOT_PATH = File.expand_path("..",__FILE__) load File.join(ROOT_PATH,'lib/tasks/resque.rake') end 然后这是你的resque.rake文件: require "resque/tasks" task "resque:setup" do raise "Please set your RESQUE_WORKER variable to true" unless ENV['RESQUE_WORKER'] == "true" root_path = "#{File.dirname(__FILE__)}/../.." require "#{root_path}/app/workers/myworker.rb" end 然后调用rake resque:work RESQUE_WORKER = true (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |