Я весь день пытался понять, почему мои работники не работают в производственном режиме, а работают в режиме разработки.Вот что я понял.
- В режиме разработки и производства я могу использовать команду
rails c
, чтобы увидеть, что находится в базе данных, и это точно. - Однако, если я помещу
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
Любая идея, что может произойтиЗдесь?Эта проблема, связанная с тем, что в модели ничего не видно, возникает только во время работы работника.Он видит это прекрасно, если я ищу его в контроллере.