Рабочие Resque внедряют новые процессы для выполнения работы. Вполне возможно, что классы для ваших моделей не загружаются в дочерний дочерний процесс. Также возможно, что существует конфликт пространства имен из-за порядка загрузки классов.
Если вы изменяете файлы классов в процессе разработки, не перезапуская своих работников, использующих Resque, я подозреваю, что они неправильно перезагружают ваши классы.
Чтобы убедиться, что ваши классы загружены предварительно, обратитесь к классам в задаче установки resque. Классы, загруженные предварительно, будут скопированы в дочерний процесс. Ниже я помещаю их в массив, чтобы заставить их загружаться. Это также быстрее, так как каждый дочерний процесс уже имеет загруженные классы. Также вам следует восстановить соединение ActiveRecord в блоке after_fork, если вы используете AR.
Lib / задачи / resque.rake:
namespace :resque do
task :setup => :environment do
[User, Monkey, Banana] # force these classes to load
Resque.after_fork { ActiveRecord::Base.establish_connection }
end
end