J'utilise actuellement la gemme delayed_job et je me demandais comment exécuter une tâche de rake toutes les 5 minutes. Je veux lancer "rake ts: reindex RAILS_ENV = production" toutes les 5 minutes mais je ne sais pas par où commencer. Je n'ai vraiment pas beaucoup plus de choses à dire à ce sujet car je suis TRÈS inexpérimenté dans ce domaine du développement des rails.Tâche de rake répétée utilisant le travail différé
Répondre
Utilisez la gemme Whenever pour programmer votre tâche de rake de réindexation ou toute autre tâche rake à exécuter toutes les 5 minutes.
Son rend très facile de créer des emplois Cron comme ces
Que se passe-t-il si vous ne voulez pas utiliser rake pour éviter que les rails ne démarrent chaque fois que vous avez besoin d'un DJ? – tesserakt
Je ne suggérerais pas d'utiliser la réindexation du sphinx pensant toutes les 5 minutes. Si vous voulez vraiment mettre quelque chose comme ça dans votre/etc/crontab:
*/5 * * * * your_username cd /path/to/rails/root && rake ts:reindex RAILS_ENV=production
Thinking Sphinx (en supposant que vous l'utilisez en raison des ts: réindexation mention) comporte des crochets internes à utiliser l'emploi retardé pour l'indexation. Avez-vous jeté un coup d'oeil à delayed delta indexing? Vous finirez probablement par utiliser le crontab pour exécuter le réindex delta périodique comme mentionné par Eimantas.
toutes les réponses étaient très bas, mais j'ai fini par aller avec le bijou à chaque fois de garder tout ensemble dans mon attaché programme de rails. Merci tout le monde! – jim