Ruby on rails 如何从resque作业中获取access环境变量

Ruby on rails 如何从resque作业中获取access环境变量,ruby-on-rails,ruby-on-rails-3,resque,Ruby On Rails,Ruby On Rails 3,Resque,如何确保resque可以访问我的所有环境变量?我正在尝试从resque作业中发送电子邮件,但无法发送,因为actionmailer smtp用户名/密码是通过ENV变量设置的。看起来在resque作业中甚至连ENV['RAILS\u ENV']都不可用 这是我的resque.rake文件: # Run to start: # rake resque:work QUEUE='*' require 'resque/tasks' require 'resque_scheduler/tasks' ta

如何确保resque可以访问我的所有环境变量?我正在尝试从resque作业中发送电子邮件,但无法发送,因为actionmailer smtp用户名/密码是通过ENV变量设置的。看起来在resque作业中甚至连ENV['RAILS\u ENV']都不可用

这是我的resque.rake文件:

# Run to start:
# rake resque:work QUEUE='*'
require 'resque/tasks'
require 'resque_scheduler/tasks'

task "resque:setup" => :environment do
  require 'resque'
  require 'resque_scheduler'
  require 'resque/scheduler'

  Resque.schedule = YAML.load_file("#{Rails.root}/config/resque_schedule.yml")
end
这是我的resque.rb初始值设定项:

require 'resque_scheduler'
Resque.redis = 'localhost:6379'
Dir["#{Rails.root}/app/jobs/*.rb"].each { |file| require file }
这是启动redis/resque/resque worker的程序文件

mongo:            mongod
redis-server:     redis-server /usr/local/etc/redis.conf
scheduler:        bundle exec rake resque:scheduler
worker:           bundle exec rake resque:work QUEUE=images, notifications

我不能确定,但如果这是UNIX,即使没有阅读环境的语言工具,open/proc/self/environ也可以工作

当然,这是最后的手段。

将它们添加到resque.rake

任务resque:setup=>:环境执行 ... 其他东西 ENV['RAILS_ENV']=RAILS.ENV 终止