2009-04-20 16 views
1

J'ai un serveur BackgrounDRb configuré pour exécuter sa méthode 'sync' toutes les 15 minutes. Ensuite, disons, je veux lancer la méthode une fois pour l'instant. J'essayais d'envelopper dans une tâche rake comme suit:Comment coder une tâche râteau pour déclencher une tâche BackgrounDRb?

namespace :mytasks do 
    task :sync do |t| 
    worker = MiddleMan.worker(:my_worker) 
    worker.async_sync 
    end 
end 

Mais cela ne fonctionne pas. Il baille avec toutes sortes de constantes indéfinies et ainsi de suite. Aucun de mes essaie d'exiger des misc. gemmes ont produit une tâche de râteau exécutable. :(

Alors, la question est de savoir comment vous déclenchez une tâche BackgrounDRb à partir d'une tâche de râteau?

Répondre

1

Je ne sais pas sur les détails de l'exécution BackroundDRb-tâches, mais si vous voulez incude les rails environnement dans votre tâche rake, vous devez être explicite à ce sujet.Je suis assez sûr que l'absence de ce est ce qui provoque votre tâche de rake à l'échec.

namespace :foo do 
    task :bar => :environment do |t| 
    # .. 
    end 
end 
Questions connexes