Я пытаюсь сделать работу resque с герокой. Он работает с моим другим приложением, но я не понимаю эту ошибки в журналах рабочих:Resque/Rails/Heroku: PG :: Ошибка: результат был очищен
PG::Error: result has been cleared: SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1
Поэтому, когда я добавить задание в очередь, работник берет на себя работу и бросает ошибку выше.
Вот класс рабочий:
class Companies
@queue = :companies
def self.perform(current_user_id, model)
@current_user = User.find(current_user_id)
... do things with @current_user and model...
end
end
И я называю выполнение действий с использованием: Resque.enqueue(Companies, current_user.id, 'quotes')
Хотя я согласен с вашим диагнозом, ваш вывод, что это Heroku проблема уровня платформы кажется прочь. Heroku не контролирует версию pg, которую вы используете, ни веб-сервер, который вы выберете (Puma, Unicorn, Thin, et al.), И все это имеет последствия. Как отметил @wuputah, это обычно можно решить в приложении, улучшив взаимодействие соединений в forked/threaded. – catsby