Ruby on rails Sidekiq将作业发送到测试队列而不是开发队列
我已经添加了一些规范来涵盖rspec的sidekiq作业,但是现在,当我启动rails服务器、控制台或sidekiq时,我有以下警告:Ruby on rails Sidekiq将作业发送到测试队列而不是开发队列,ruby-on-rails,sidekiq,Ruby On Rails,Sidekiq,我已经添加了一些规范来涵盖rspec的sidekiq作业,但是现在,当我启动rails服务器、控制台或sidekiq时,我有以下警告: WARNING: Sidekiq testing API enabled, but this is not the test environment. Your jobs will not go to Redis. 而且工作确实没有排队 如何切换回开发API?您可能需要检查是否已将gem'rspec sidekiq'包含在组:development中。如果是
WARNING: Sidekiq testing API enabled, but this is not the test environment. Your jobs will not go to Redis.
而且工作确实没有排队
如何切换回开发API?您可能需要检查是否已将gem'rspec sidekiq'包含在组:development中。如果是这样,请将其从那里移除,并仅在:test组中调用。我在使用
sidekiqswarm
并预加载test
gems时发现此错误
一旦我做了改变,它就完美地工作了
之前:
worker: SIDEKIQ_COUNT=5 SIDEKIQ_MAXMEM_MB=300 SIDEKIQ_PRELOAD=default,development,test sidekiqswarm -C config/sidekiq.yml
之后:
worker: SIDEKIQ_COUNT=5 SIDEKIQ_MAXMEM_MB=300 SIDEKIQ_PRELOAD=default,development sidekiqswarm -C config/sidekiq.yml```
根据上面的Thomas回答,如果您在gem文件中没有找到
rspec sidekiq
gem,请检查项目代码的任何部分(例如sidekiq初始值设定项)是否有如下代码:
require 'sidekiq/testing'
Sidekiq::Testing.inline!
您是如何将sidekiq测试集成到您的应用程序中的?不要在任何地方(rails\u helper/spec\u helper/test\u helper或您使用的任何全局测试设置文件除外)要求“sidekiq/testing”,我收到了相同的消息,我只在我的
spec\u helper
中需要它。您找到解决方案了吗?请在初始值设定项文件和/或特定于环境的文件中查找require'sidekiq/testing/inline'
,如config/environments/development.rb
我希望我在4小时前找到它。非常感谢。你或许应该接受这一正确答案。