我使用 Capistrano 进行部署,使用 Sidekiq 进行队列。我需要加载用户 ID 以在 deploy.rb 文件中设置 :sidekiq_queues 变量以执行 sidekiq 队列。现在我使用以下代码
set :sidekiq_queues, ::User.all.map {|u| "-q parsing_user_#{u.id}"}.join(" ") + " -q parsing_user_0"
但它会引发以下错误
./config/deploy.rb:29:in `load': uninitialized constant User (NameError)
我试图将“rubygems”和“active_record”放入deploy.rb,但没有帮助。结果我应该有sidekiq_queues ==“-q parsing_user_1 -q parsing_user_2 -q parsing_user_3 -q parsing_user_4 -q parsing_user_5 -q parsing_user_0”。硬编码队列名称不是解决方案。