Поскольку вы не поделились ни одним кодом, я не уверен, как вы структурировали свое приложение и как вы используете Redis и рабочих. Следовательно, мне придется принять во внимание много вещей при ответе на этот вопрос.
Допустим, ваша структура выглядит следующим образом
root
engines
engine1
app
config
...
engine2
app
config
...
Вы можете сохранить конфигурацию resque следующим образом
resque1 configс повторным запуском локального хоста через порт 6380
#root/engines/engine1/config/resque.yml
development: localhost:6379 #redis1
test: localhost:6379
...
resque2 config с повторным запуском локального хоста через порт 6380
#root/engines/engine2/config/resque.yml
development: localhost:6380
test: localhost:6380
...
спасатель1 инициализатор
#root/engines/engine1/config/initializers/resque.yml
rails_root = File.dirname(__FILE__) + '/../..'
rails_env = ENV['RAILS_ENV'] || 'development'
config_file = rails_root + '/engines/engine1/config/resque.yml'
resque_config = YAML::load(ERB.new(IO.read(config_file)).result)
Resque.redis = resque_config[rails_env]
инициатор спасения2
#root/engines/engine2/config/initializers/resque.yml
rails_root = File.dirname(__FILE__) + '/../..'
rails_env = ENV['RAILS_ENV'] || 'development'
config_file = rails_root + '/engines/engine2/config/resque.yml'
resque_config = YAML::load(ERB.new(IO.read(config_file)).result)
Resque.redis = resque_config[rails_env]
Вы можете начать таких работников, как это
RAILS_ENV=production resque-web rails_root/engines/engine1/config/initializers/resque.rb
RAILS_ENV=production resque-web rails_root/engines/engine2/config/initializers/resque.rb
Кроме того, если вы хотите использовать отдельный экземпляр redis и resque , то для redis вы можете указать пространство именhttps://github.com/resque/redis-namespace и для восстановления вы можете определить различные наборы очередей для каждого механизма.