Question

Je construis un projet Rails qui a un emploi de type cron que je me débrouille avec Rufus Scheduler. J'ai deux questions sur la façon de mettre en place de façon appropriée dans Rails:

  1. Quel est le meilleur endroit pour mettre le code du travail?
  2. Où dois-je placer le code Rufus pour planifier le travail? Comment dois-je le coup d'envoi?
Était-ce utile?

La solution

Pour contrôler le planificateur je créerais un config/initializers/task_scheduler.rb:

task_scheduler = Rufus::Scheduler.start_new  

task_scheduler.every("1m") do  
   Something.to_do! # Do something every minute! 
end

pour le code Something.to_do, ce genre de dépend de ce qu'il fait. Peut-être est un modèle de données et il devrait aller dans le répertoire app/models, mais si elle est quelque chose que vous pourriez vouloir plus générique de la placer dans lib/. Si vous liquidez avec un certain nombre de tâches planifiées, vous pouvez créer un répertoire app/scheduled_tasks, mais peut-être trop pour un seul fichier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top