Trabalhar com duas instâncias de redis separadas com sidekiq?

Boa tarde,

Eu tenho dois aplicativos separados, mas relacionados. Eles devem ter suas próprias filas de fundo(leia: processos separados do Sidekiq & Redis). No entanto, gostaria de ocasionalmente ser capaz de empurrar trabalhos paraapp2fila doapp1.

De uma perspectiva simples de fila / envio, seria fácil fazer isso seapp1 não tinha uma pilha existente do Sidekiq / Redis:

# In a process, far far away

# Configure client 
Sidekiq.configure_client do |config|
  config.redis = { :url => 'redis://redis.example.com:7372/12', :namespace => 'mynamespace' }
end

# Push jobs without class definition 
Sidekiq::Client.push('class' => 'Example::Workers::Trace', 'args' => ['hello!'])

# Push jobs overriding default's 
Sidekiq::Client.push('queue' => 'example', 'retry' => 3, 'class' =>     'Example::Workers::Trace', 'args' => ['hello!'])

No entanto, dado que eu já teria chamado umSidekiq.configure_client eSidekiq.configure_server deapp1provavelmente há um passo entre aqui onde algo precisa acontecer.

Obviamente eu poderia simplesmente pegar o código de serialização e normalização diretamente de dentro do Sidekiq e empurrar manualmenteapp2é a fila do redis, mas isso parece uma solução frágil. Eu gostaria de poder usar oClient.push funcionalidade.

Eu suponho que minha solução ideal seria algo como:

SidekiqTWO.configure_client { remote connection..... } SidekiqTWO::Client.push(job....)

Ou até mesmo:

$redis_remote = remote_connection.....

Sidekiq::Client.push(job, $redis_remote)

Obviamente, um pouco facetious, mas esse é o meu caso de uso ideal.

Obrigado!

questionAnswers(3)

yourAnswerToTheQuestion