Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 一个人如何设置厨师食谱和延迟的工作,以产生多个工人?_Ruby On Rails_Chef Infra_Engineyard - Fatal编程技术网

Ruby on rails 一个人如何设置厨师食谱和延迟的工作,以产生多个工人?

Ruby on rails 一个人如何设置厨师食谱和延迟的工作,以产生多个工人?,ruby-on-rails,chef-infra,engineyard,Ruby On Rails,Chef Infra,Engineyard,我几乎找不到这方面的文档,也找不到EngineYard的任何帮助 这是我的延迟作业/recipes/default.rb: if ['solo', 'app', 'app_master'].include?(node[:instance_role]) # be sure to replace "app_name" with the name of your application. run_for_app("HQ_Channel2") do |app_name, data|

我几乎找不到这方面的文档,也找不到EngineYard的任何帮助

这是我的延迟作业/recipes/default.rb:

if ['solo', 'app', 'app_master'].include?(node[:instance_role])

  # be sure to replace "app_name" with the name of your application.
  run_for_app("HQ_Channel2") do |app_name, data|

    # this is something trip added. beware.
    worker_count = 3

    worker_count.times do |count|
      template "/etc/monit.d/delayed_job#{count+1}.#{app_name}.monitrc" do
        source "delayed_job_worker.monitrc.erb"
        owner "root"
        group "root"
        mode 0644
        variables({
          :app_name => app_name,
          :user => node[:owner_name],
          :worker_name => "delayed_job#{count+1}",
          :framework_env => node[:environment][:framework_env]
        })
      end
    end

    # this is something trip removed. beware.
    #worker_name = "delayed_job"

    # The symlink is created in /data/app_name/current/tmp/pids -> /data/app_name/shared/pids, but shared/pids doesn't seem to be?
    directory "/data/#{app_name}/shared/pids" do
      owner node[:owner_name]
      group node[:owner_name]
      mode 0755
    end

    template "/etc/monit.d/delayed_job_worker.#{app_name}.monitrc" do
      source "delayed_job_worker.monitrc.erb"
      #owner node[:owner_name]
      #group node[:owner_name]
      owner "root"
      group "root"
      mode 0644
      variables({
        :app_name => app_name,
        :user => node[:owner_name],
        :worker_name => worker_name,
        :framework_env => node[:environment][:framework_env]
      })
    end

    bash "monit-reload-restart" do
       user "root"
       code "monit reload && monit"
    end

  end


end
然后我做ey配方上传-e制作和ey配方应用-e制作

一切都会过去的

但是当我部署e产品时,我得到了一个

Beginning deploy for 'HQ_Channel2' in 'production' on server...
Application master's status is not "running" (green); it is "error".
我签出了我的自定义日志,它返回:

[Thu, 01 Dec 2011 06:07:17 -0800] INFO: Starting Chef Solo Run
/usr/local/ey_resin/ruby/lib/ruby/gems/1.8/gems/chef-0.6.0.2/lib/chef/recipe.rb:196:in `method_missing': Cannot find Chef::Resource::Template for template (NameError)

为什么我会出现这个错误?

看看这个答案(由其他人写的)


我已经看过了。谢谢我实际上使用的是安永的
/deploy
文件夹,效果很好。你找到解决这个问题的方法了吗?