O Rails 3 + Heroku + Atrasada de trabalhos - me Ajude a entender!
-
26-09-2019 - |
Pergunta
Eu estou tendo problemas em entender este artigo: http://blog.darkhax.com/2010/07/30/auto-scale-your-resque-workers-on-heroku .
Eu não muito por que eu preciso de Redis + Resque quando eu ter atrasado os trabalhos prestados pelo Heroku.
No meu entendimento, eu ainda tenho que pagar para os trabalhadores, correto?O que é a minha principal vantagem de utilizar essa solução?
Cumprimentos.
Solução
Se você não sabe por que precisa de resque, então não precisa;)
Resque é para alta escalabilidade. touched_job é bom para coisas de menor escala, mas depois que você chega ao tamanho de, digamos, Github, você precisará de algo como Resque. Se atrasado_job funcionar para você, fique com ele. Você não precisa se preocupar em substituí -lo até que sua fila de trabalhos de fundo receba cerca de 30.000 ou mais.
Outras dicas
Para autoscale heroku trabalhadores que utilizam atrasada trabalho, você pode ligar para o enqueue e depois de ganchos e usar o heroku api para consulta/atualização do número de trabalhadores.
Para a implementação mais básica em enqueue, verifique para ver se há trabalhadores e se não adicionar um trabalhador.Depois, verifique para ver se há outras atrasada de trabalhos e, se não reduzir os trabalhadores a 0.
Obviamente, você pode fazer isso mais sofisticados da maneira que você escala.
Aqui está uma implementação básica: https://github.com/phaza/Heroku-Delayed-Job-Autoscale
A HirefireApp é uma nova solução simples para os trabalhadores de escala automática.
Ele gera trabalhadores para você com base no tamanho da fila (configurável) e depois os "dispara" quando não são mais necessários. Você paga pelo horário do dinamômetro (para o segundo mais próximo) e pelo serviço HirefireApp. Em teoria, você também pode rolar o seu próprio usando a jóia de hirirfire de código aberto.
Ele também lida com o escalonamento do lado da Web, se você escolher, para que você possa gerar mais dynos da Web com base na latência atual.
Você também pode usar o HirefireApp.com para monitorar e escalar seus aplicativos