Pergunta

Estou criando uma postgres multi-inquilino ambiente.Assim, o cliente tem schema_1, B tem schema_2 ect..

Agora eu não sei todos os clientes que eu vou ter, então eu tenho um pouco simples rake task para criar um novo esquema baseado em dados de um Inquilino tabela..Todos perfeitamente dinâmico:Para adicionar um novo cliente, adicionar um novo inquilino, e fazer um ancinho inquilino:db:migrate..tada todas as mesas estão lá e o cliente tem o seu próprio pequeno mundo.(Desconhecido cust lista, mas pequena para o rake na inscrição não é um problema)

Tudo de bom...
Exceto para os trabalhos em segundo plano.
Eu quero ter uma Fila diferente para cada cliente.

http://blog.kabisa.nl/2010/03/16/dynamic-queue-assignment-for-resque-jobs/ ainda usa codificado filas.Ele pode escolher entre dois você sabia que quando você escreveu o código, mas eles ainda não são muito dinâmico..Não realmente.

Então a minha pergunta é.Eu tenho uma seqüência de caracteres "tenant_1" descrevendo meus clientes no mundo.
Como posso usar essa seqüência de caracteres para criar uma fila que contém os trabalhos apenas para "ele".
Como posso criar uma dinâmica de filas?

Foi útil?

Solução 2

RESQUEMENT :: job.create ("Cliente # {Client_id}", Myworker, 3);

Isso funciona para nós.

Outras dicas

Caso alguém vem toda esta pergunta como eu fiz, eu encontrei uma resposta dentro da fonte.

Resque versão 1.x (estável) lista esta em /lib/resque.rb, e se parece com uma melhor método para chamar de acessar diretamente o Trabalho do módulo de dentro Resque.

 # This method is considered part of the `stable` API.
  def enqueue_to(queue, klass, *args)

Uso como tal, funciona perfeitamente para mim.

Resque.enqueue_to(:my_queue, MyWorker, :my_argument)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top