2

我实际上想在生产模式下激活延迟作业。所以我输入“

RAILS_ENV=生产脚本/delayed_job 开始

“在控制台并且出现错误”

:dir => File.join(dir, 'tmp', 'pids'),

" 报告未定义的目录...在线搜索原始文件但找不到任何文件。

#!/usr/bin/env ruby
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config',   'environment'))
require 'delayed/command'
Delayed::Command.new(ARGV).daemonize
daemon_options = {
  :multiple   => false,
  :dir_mode   => :normal,
  **:dir        => File.join(dir, 'tmp', 'pids'),**
  :backtrace  => true
}

Daemons.run_proc('job_runner', daemon_options) do
  if ARGV.include?('--')
    ARGV.slice! 0..ARGV.index('--')
  else
    ARGV.clear
  end

  Dir.chdir dir
  RAILS_ENV = ARGV.first || ENV['RAILS_ENV'] || 'development'
  require File.join('config', 'environment')

  Delayed::Worker.new.start
 end
4

1 回答 1

0

尝试替换dirRails.root(替换两个事件)。变量或方法dir从未在上述代码中定义。您还可以在上面定义 dir daemon_options

dir = Rails.root
daemon_options = {
  ...
于 2012-04-24T15:27:25.960 回答