Неинициализированная константа задачи рейка Heroku для модели MongoMapper - PullRequest
2 голосов
/ 05 декабря 2011

У меня есть крошечная задача по рейку, которая просто вставляет новое отложенное задание в очередь. Я вставил строку отладки

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) работает нормально.

Все это прекрасно работает локально.

-

Что еще более странно, так это то, что ссылка на Article.all с использованием «heroku run console» работает просто отлично.

-

Трассировка стека не показывает много:

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

1 Ответ

5 голосов
/ 05 декабря 2011

Нашел проблему, и это совершенно странно.

Я случайно назвал свой файл модели Article «Article.rb» с заглавной буквой A. Это привело к тому, что Heroku не поднял его при запуске «rake environment».

Странно и скорее всего ошибка?

...