2010-05-07 5 views
2

Je souhaite appeler une tâche râteau à partir d'un travail cron qui stocke des données météo distantes dans le cache des rails. Cependant, je dois faire quelque chose de mal ici parce que je ne trouve aucune solution à travers d'innombrables recherches infructueuses.La tâche rake ne peut pas accéder à rails.cache

Dire que je définir et appeler cette tâche

namespace :weather do 
    desc "Store weather from remote source to cache" 
    task :cache do 
    Rails.cache.write('weather_data', Date.today) 
    end 
end 

Je reçois l'erreur

Anonymous modules have no name to be referenced by 

Ce qui me conduit à croire que le cache de rails ne sont pas disponibles. La sortie de Rails.class à partir du fichier rake me donne Module mais Rails.cache.class renvoie à nouveau l'erreur ci-dessus. Dois-je inclure quelque chose ici? Suis-je désespéré à internet? :)

Merci d'avance.

Répondre

6

Essayez de passer dans les rails environnement

task (:cache => :environment) do 
    ... 
end 

semble que vous obtiendrez une autre erreur, mais je voudrais essayer ce