首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sidekiq不接收Rails应用程序的作业

Sidekiq不接收Rails应用程序的作业
EN

Stack Overflow用户
提问于 2017-01-05 18:12:06
回答 1查看 2.2K关注 0票数 3

我们正在推出一个带有Sidekiq和Rails 5的新应用程序。我们正在利用Redis来存储作业,但出于某些原因,无论是在本地还是在我们的开发区域,作业似乎并没有传递到Redis。

当代码单独执行和通过IRB执行时,通知似乎被正确地发送了。

代码语言:javascript
复制
[10] pry(main)> Notifications::WelcomeWorker.perform_async(1)
=> "1a1447c488f173fb09b212f7"

查看Redis,我们有失败和处理(都是0)的键,但对于挂起没有任何键,这让我相信它甚至没有因为某种原因而击中Redis。

我们的Redis配置是在config / sets kiq.yml中设置的,它只设置并发性和PID位置。

我们在初始化器/ file kiq.rb中也有一个初始化文件。

代码语言:javascript
复制
Sidekiq.configure_server do |config|
  config.redis = { url: ENV["SIDEKIQ_REDIS"] , namespace: 'abcbh', network_timeout: 5  }
end
Sidekiq.configure_client do |config|
  config.redis = { url: ENV["SIDEKIQ_REDIS"] , namespace: 'abcbh', network_timeout: 5  }
end

SIDEKIQ_REDIS在本地转换为redis://localhost和dev上的相关URL。

一切看起来都很好,但是工作似乎并没有出现在Redis中。

在我的睡眠不足中有什么东西是我遗漏的吗?

工作人员本身安装在app/ worker /notifications/迎宾_worker.rb中。

在app/workers/notifications/迎宾_worker.rb中,我们有以下代码,尽管它从未被执行过。

代码语言:javascript
复制
require 'sendgrid-ruby'
include SendGrid
class Notifications::WelcomeWorker
  include Sidekiq::Worker

  sidekiq_retries_exhausted do |msg, e|
    Sidekiq.logger.warn "Failed #{msg['class']} with #{msg['args']}: #{msg['error_message']}"
  end

  def perform(email_id)
    Sidekiq.logger.info "Beginning Welcome Email For #{email_id}"
    ...
  end
end
EN

回答 1

Stack Overflow用户

发布于 2017-01-05 18:45:44

经过额外的Google-fu之后,我发现这个问题已经被报道了。

Sidekiq worker not getting triggered --如果你来这里是为了同样的问题,请提出这个问题并回答。他们应该得到更多!

TL:DR - rspec-sidekiq宝石应该只在测试中。很明显这和发展有关。

现在我要把头撞到墙上,想知道为什么我的google-fu连续两天都让我失望了。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41491887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档