Pergunta

Atualmente estou usando um servidor do site5 e gostariarake jobs:work praticamente correndo o tempo todo. Atualmente, não posso enviar os trabalhos, a menos que eu esteja conectado ao servidor. Espero que alguém lá fora possa me ajudar com isso. Tinha muitos problemas com ar_mailer e a whenever Gem ... mas tenha cerca de 5 jóias funcionando perfeitamente no meu aplicativo Rails.

Alguém pode lançar alguma luz sobre uma solução para isso, por favor? muito apreciado. (Instalado touched_job como um plugin)

Foi útil?

Solução 2

Ok, eu tenho uma solução alternativa para isso, é o melhor que posso fazer, mas funciona até certo ponto ... Eu fiz uso de empregos de Cron e um Arquivo de script/jobrunner personalizado.

Eu criei o Jobrunner script localizado em script/jobrunner que contém o seguinte

#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/environment'
Delayed::Worker.new.start

Então, em um trabalho de Cron, eu o fiz esse arquivo.

No relatório do Cron, ainda recebo alguns erros, mas os empregos funcionam e estou feliz com isso!

O trabalho do Cron está sendo executado a cada hora no 50º minuto, por exemplo, e passa por todos os touched_jobs na tabela e os processa. Esta é a próxima melhor solução alternativa que encontrei no meu problema. Espero que isso ajude alguém no futuro.

Vou ver quais outros scripts eu posso evocar para tarefas diárias/semanais.

Outras dicas

Se você estiver usando o Capistrano, inicie o atraso_job quando o aplicativo for implantado. Adicione isso ao seu arquivo de receita de implantação.

require 'delayed/recipes'
after "deploy:stop",        "delayed_job:stop"
after "deploy:start",       "delayed_job:start"
after "deploy:update_code", "delayed_job:stop"
after "deploy:restart",     "delayed_job:start"

O trabalho atrasado vem com um script para começar em segundo plano e log para log/touched_job.log. Você pode iniciar um DAUSEMENIZADO DEELHED_JOB em execução no modo de desenvolvimento assim:

RAILS_ENV=development script/delayed_job start
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top