В режиме производства в рельсах мой рабочий ничего не видит в модели - PullRequest
0 голосов
/ 04 октября 2018

Я весь день пытался понять, почему мои работники не работают в производственном режиме, а работают в режиме разработки.Вот что я понял.

  1. В режиме разработки и производства я могу использовать команду rails c, чтобы увидеть, что находится в базе данных, и это точно.
  2. Однако, если я помещу binding.pry вприостановить работу моего рабочего во время выполнения, он не видит каких-либо элементов в модели.Это не имеет никакого смысла вообще.На самом деле, я могу сделать Campaign.all, и там ничего не отображается, а затем вернуться обратно к консоли рельсов и выполнить Campaign.all, и он показывает.

Есть идеи?

Вот вывод как консоли rails, так и паузы binding.pry соответственно:

$ rails c
2.5.1 :009 > SidekiqTask.first
  SidekiqTask Load (0.4ms)  SELECT  `sidekiq_tasks`.* FROM `sidekiq_tasks` ORDER BY `sidekiq_tasks`.`id` ASC LIMIT 1
 => #<SidekiqTask id: 5, campaign_id: 1, job_id: "c19d37f4c70060d3b59059b0", task: "Start Campaign", created_at: "2018-10-04 20:11:03", updated_at: "2018-10-04 20:11:03"> 

, а затем вот еще один

[4] pry(#<CampaignWorker>)> SidekiqTask.first
=> nil

Любая идея, что может произойтиЗдесь?Эта проблема, связанная с тем, что в модели ничего не видно, возникает только во время работы работника.Он видит это прекрасно, если я ищу его в контроллере.

1 Ответ

0 голосов
/ 04 октября 2018

Просто понял, что это потому, что мой экземпляр Sidekiq не работал в рабочем режиме.Я исправил это, выполнив следующую команду:

bundle exec sidekiq --environment production

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...