【问题标题】:Why can't i run rake -f?为什么我不能运行 rake -f?
【发布时间】:2012-01-02 07:09:37
【问题描述】:

我真的不知道我在做什么。我正在尝试让 rake 工作,这样我就可以运行 rake workers:start,但不必让工作目录与 rake 文件的文件夹相同。

例如,如果我在我的应用程序目录中,上述命令可以正常工作,但如果我运行 rake -f ~/Code/my-app/Rakefile workers:start,它会显示“无法加载此类文件 -- ./database

我正在使用 Sinatra(机架),最终我的目标是尝试安装 God,这样我就可以在生产环境中创建一个 resque worker

require File.dirname(__FILE__) + "/main"
require 'resque/tasks'

namespace :workers do

  desc "Launch single worker for processing jobs"
  task :start do
    ENV['QUEUE']   ||= '*'
    puts "=== Launching single worker on '#{ENV['QUEUE']}' queue(s) with PID #{Process.pid}"
    Rake::Task['resque:work'].invoke
  end

end

【问题讨论】:

    标签: ruby rake rakefile


    【解决方案1】:
    rake -f ~/Code/my-app/Rakefile rake:workers:start
                                    ^ shouldn't need this one.
    

    在运行rake 之前,您可能还需要cd 到适当的目录。

    cd ~/Code/my-app && rake workers:start
    

    【讨论】:

    • 哎呀...当我运行时,第二个 rake 命令不在其中。那是个意外。还是不行。我问而不是使用 cd 命令的唯一原因是我可以让它与上帝一起工作。我知道上帝需要你运行它所需的命令。我尝试从任何位置在终端中手动运行它,但它仍然无法正常工作
    • 这是我的 Upstart 脚本,如果有帮助的话:gist.github.com/1549719
    • 这是我的master.god 配置文件:gist.github.com/1549724 其余配置文件看起来与this one 非常相似
    猜你喜欢
    • 1970-01-01
    • 2014-01-31
    • 2015-03-06
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    • 2013-01-04
    • 2020-10-18
    相关资源
    最近更新 更多