2009-05-24 6 views
1

J'ai un répertoire appelé cron, dans le répertoire de mon application. Dans le répertoire cron, j'ai mis mon fichier cron. Comment accéder au modèle dans mon fichier cron?Chargement d'un modèle dans un fichier cron, dans Rails

Quel est le meilleur endroit pour mettre mon fichier cron?

modifier: Je suis en train d'exécuter le fichier Cron, directement comme Ruby cron.rb

+0

clarifier, s'il vous plaît. Vous avez un modèle d'enregistrement actif dans app/cron? Ou vous voulez charger un fichier cron stocké sur app/cron à partir d'un modèle standard? –

+0

le modèle est dans le dossier/app/models et le cron est dans le dossier/app/cron. Je ne suis pas en mesure d'accéder à mon modèle dans le fichier cron. – user85748

Répondre

4

Je suppose ce que vous voulez faire est de lancer un script (que vous avez enregistré dans le dossier cron) comme un cronjob, mais vous voulez qu'il charge l'environnement Rails, y compris l'accès à vos modèles ActiveRecord, avant qu'il ne s'exécute. Si c'est le cas, ce que vous voulez utiliser est le script script/runner dans votre application Rails, en le fournissant avec le nom du script que vous voulez exécuter, par exemple, le script .

script/runner cron/my_cron_script.rb 

Si vous voulez ajouter cela comme un cronjob, ajoutez-le à votre crontab comme suit. Modifier votre crontab avec la commande crontab -e et mettre quelque chose comme le suivant là:

* * * * * /path/to/my/app/script/runner /path/to/my/app/cron/my_cron_script.rb 
+0

merci, ça a marché :-) – user85748

Questions connexes