Я пытаюсь реализовать асинхронную обработку электронной почты с помощью API ActiveJob Rails 4.2. До сих пор я пытался использовать два поддерживаемых адаптера: Sucker Punch и Delayed Job, и я получаю одинаковые проблемы с каждым.Rails 4.2 ActiveJob: каждый адаптер приводит к ошибке PhusionPassenger: не удалось найти [gem] в любом из источников (Bundler :: GemNotFound)
Вещи, кажется, работают правильно в разработке. Тем не менее, после развертывания на промежуточном сервер и пытаюсь загрузить веб-сайт в браузере, я получаю экран фиолетовых ошибок PhusionPassenger с этой ошибкой:
Could not find delayed_job-4.0.6 in any of the sources (Bundler::GemNotFound)
Выше, когда я пытался Отложенные работу. Моя установка камень выглядит следующим образом:
# Gemfile
gem 'delayed_job_active_record'
# Gemfile.lock
delayed_job (4.0.6)
activesupport (>= 3.0, < 5.0)
delayed_job_active_record (4.0.3)
activerecord (>= 3.0, < 5.0)
delayed_job (>= 3.0, < 4.1)
Когда я попытался Sucker Punch, ошибка PhusionPassenger была такой же, за исключением того, драгоценный камень, который якобы не может быть найден в любых источниках был hitimes
, который является зависимость celluloid
, которая сам по себе является зависимостью sucker_punch
.
Первоначально я думал, что проблема связана с Sucker Punch. После установки gem на игровом сервере и все еще получая ошибку, я решил переключиться на Delayed Job, и теперь у меня почти такая же проблема, поэтому я предполагаю, что есть еще одна проблема с низким уровнем, но я не знаю, что это может быть. Я также пробовал обновлять упаковщик на промежуточном сервере, но не кубик.
Заранее благодарим за любую помощь!
EDIT
Я сделал некоторые более ковыряться на задержанной GitHub работы и нашел эту команду RAILS_ENV=production bin/delayed_job restart
. Когда я попытался запустить RAILS_ENV=staging bin/delayed_job restart
на моем промежуточном сервере, я был предупрежден об отсутствии binstub delayed_job в моем каталоге bin/
. Оглядываясь назад на мою локальную среду разработки, я вижу, что существует bin/delayed_job
и может успешно запустить bin/delayed_job restart
. Может ли это отсутствие binstub в постановке внести свой вклад в проблему? Если да, почему бы не создать binstub правильно? Я уверен, что мой процесс развертывания capistrano использует bundle exec bundle install --binstubs
.
EDIT 2
Через несколько шагов, описанных ниже, я был в состоянии получить delayed_job появляться в моем мусорном ведре/в постановке. Я также попытался добавить камень «демонов» за предложение на Delayed Job GitHub, но все равно получаю ту же ошибку, теперь о «демонах», а не о «delayed_job».
Вы уверены, что пользователь правильного рубина? – rderoldan1
Я не уверен. К сожалению, я также не имею (в настоящее время) знание sysadmin, чтобы проверить, какой рубиновый пассажир использует или меняет его. Тем не менее, я могу сказать, что моя базовая rails4 ветка без активного адаптера адаптера разворачивается и отлично работает на промежуточном сервере. Кроме того, я собираюсь добавить дополнительную информацию, которую я почерпнул в отношении binstubs, которые могут быть полезны или не могут быть полезны. – sixty4bit
Используете ли вы RVM? – rderoldan1