我有一个小小的rake任务,它只是将一个新的延迟作业放入队列中。我插入了一个调试行
desc 'Start processing new rss feed articles'
task :process_new_articles => :environment do
config = RSS_CONFIG
feeds = config['rss_feeds']
puts Article.all
feeds.each do |feed|
Delayed::Job.enqueue ProcessNewArticlesJob.new(feed, config['settings'])
end
end
似乎正在正确加载配置信息。但是我在运行任务时遇到“未初始化的常量文章”错误。文章是MongoMapper模型。我已经验证了与数据库的连接(在MongoLab上)可以正常工作。
这一切在当地很有效。
-
更奇怪的是,使用“heroku run console”引用Article.all的工作正常。
-
堆栈跟踪显示不多:
2011-12-04T22:33:02+00:00 app[start.1]: rake aborted!
2011-12-04T22:33:02+00:00 app[start.1]: uninitialized constant Article
答案 0 :(得分:5)
发现问题,这很奇怪。
我不小心将我的文章模型文件“Article.rb”命名为大写字母A.这导致Heroku在运行“rake环境”时无法接收它。
奇怪,很有可能是一个错误?