Delayed_job все еще работает с mongo_mapper? - PullRequest
0 голосов
/ 30 ноября 2011

Существуют некоторые существующие вопросы для предыдущих версий, но из поиска SO и поиска в Google я не могу понять, работают ли все еще mongo_mapper и delayed_job, и если да, то как это сделать. Я считаю, что по крайней мере два использовали для совместной работы.

Я бы хотел использовать:

  • Рельсы 3.0.10
  • MongoMapper 0.9.2
  • Задержка задания 2.1.4

Однако я считаю, что мне также нужно

  • delayed_job_mongo_mapper

, которая в моей версии 1.0 требует MongoMapper 0.8.6.

Поэтому я использую MongoMapper 0.8.6 вместо этого.

Однако при работе:

rails runner 'Delayed::Backend::MongoMapper::Job.create_indexes'

как указано в readme delayed_job_mongo_mapper, я получаю следующее исключение:

uninitialized constant MongoMapper::Plugins::Caching::ClassMethods (NameError)

У кого-нибудь есть последние версии MongoMapper и DelayedJob, работающие вместе, и скажите, пожалуйста, как вы это сделали? Спасибо.

EDIT:

Я также пробовал это с текущей версией mongo_mapper и без delayed_job_mongo_mapper, но я получаю uninitialized constant Delayed::Job всякий раз, когда пытаюсь что-то с ним сделать.

1 Ответ

1 голос
/ 30 ноября 2011

Хорошо, я продолжил поиск в Google и, наконец, нашел это описание кого-то, имеющего ту же проблему, который исправил ее, используя более свежую версию MongoMapper и форк проекта delayed_job_mongo_mapper здесь .

Оказалось, что с этим форком тоже была проблема, поскольку с момента его последнего тестирования MongoDB изменила команду findAndModify, чтобы она возвращала nil, а не выдает ошибку, если документ не найден, что приводит к прерыванию delayed_job_mongo_mapper при наличии больше не осталось рабочих мест.

Таким образом, я сам разработал проект здесь , чтобы исправить эту проблему, и теперь у меня все работает (пока).

...