メールボックスの新しいメールをチェックするデーモンを備えたRailsアプリケーションがあります。このタスクにはFetcherプラグインを使用しています。デーモン ファイルは次のようになります。
#!/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))
...
そのため、新しいメールを取得して解析し、解析したデータからリソースを作成します。ただし、リソースを保存しようとすると、例外がスローされます。これは、スクリプトが開発環境に自動的に割り当てられるためです。そのため、本番環境(必要な構成)ではなく、開発データベース構成を使用しています。
私はスクリプトを開始しようとしました:
rails-root$ RAILS_ENV=production; script/mail_fetcher start
しかし、役に立たない。environment.rb ファイルをロードすると、デフォルトで開発環境になり、development.rb と開発データベース構成が database.yml からロードされるようです。
考え?提案?
ありがとう