Ruby on rails Rails守护进程处于开发模式

Ruby on rails Rails守护进程处于开发模式,ruby-on-rails,daemon,Ruby On Rails,Daemon,我有一个Rails应用程序,它带有一个守护进程,可以检查邮箱中是否有任何新的电子邮件。我正在使用这个插件来完成这个任务。守护进程文件如下所示: #!/usr/bin/env ruby require File.dirname(__FILE__) + '/../config/environment.rb' class MailFetcherDaemon < Daemon::Base @config = YAML.load_file("#{RAILS_ROOT}/config/mail

我有一个Rails应用程序,它带有一个守护进程,可以检查邮箱中是否有任何新的电子邮件。我正在使用这个插件来完成这个任务。守护进程文件如下所示:

#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/environment.rb'

class MailFetcherDaemon < Daemon::Base

  @config = YAML.load_file("#{RAILS_ROOT}/config/mail.yml")
  @config = @config['production'].to_options

  @sleep_time = @config.delete(:sleep_time) || 20
  def self.start
    puts "Starting MailFetcherDaemon"
    # Add your own receiver object below
    @fetcher = Fetcher.create({:receiver => MailProcessor}.merge(@config))
  ...
但是没有用。似乎当我加载environment.rb文件时,它只是默认为development environment,并从database.yml加载development.rb和development数据库配置

想法?建议

谢谢

所以当你说

RAILS_ENV=production; script/mail_fetcher start
你是说

#!/bin/bash
export RAILS_ENV=production
cd /path/to/rails_root
./script/mail_fetcher start
所以当你说

RAILS_ENV=production; script/mail_fetcher start
你是说

#!/bin/bash
export RAILS_ENV=production
cd /path/to/rails_root
./script/mail_fetcher start

您可以尝试将以下内容添加到脚本中:

ENV['RAILS_ENV'] = "production"
或者,可以将其添加到命令行

#!/bin/bash
cd /path/to/rails_root
./script/mail_fetcher start RAILS_ENV=production

您可以尝试将以下内容添加到脚本中:

ENV['RAILS_ENV'] = "production"
或者,可以将其添加到命令行

#!/bin/bash
cd /path/to/rails_root
./script/mail_fetcher start RAILS_ENV=production

这在我的应用程序中起作用,我看到的唯一区别是没有分号

RAILS_ENV=production script/mail_fetcher start

这在我的应用程序中起作用,我看到的唯一区别是没有分号

RAILS_ENV=production script/mail_fetcher start

是的,这是我在做的命令,但我有速记。我更新了这个问题,指出了我在哪里运行这个命令。是的,这是我正在执行的命令,但我用了速记。我更新了问题以指示我从何处运行该命令。我尝试过这样做,但我需要将环境设置为“生产”,因为加载environment.rb文件的方式将加载生产配置(数据库、mailier、记录器等的设置)我试过了,但我需要将环境设置为“生产”,因为environment.rb文件是以这种方式加载的,它将加载生产配置(数据库、mailier、logger等的设置)