我有两台服务器:网络服务器(前端)和分析(后端)服务器。我需要通过Sidekiq将作业从前端服务器传递到后端服务器。我的技巧是:在网络服务器和后端服务器上安装Sidekiq。我现在有前端Sidekiq和后端Sidekiq。配置前端Sidekiq,使其指向后端Sidekiq的Redis服务器。也就是说,两个Sidekiq共享同一个Redis数据库服务器。现在,我需要从前端Sidekiq入队一个作业,然后从后端Sidekiq执行一段代码。我应该怎么做? 最佳答案 Sidekiq是一个分布式消息队列,它的全部目的是为您描述的用例服务。只需
我正在尝试在低级别调试sidekiq。为了做到这一点,我希望记录所有查询。Redis客户端记录器可以通过以下方式启用:redis.client.logger=Logger.new(STDOUT)redis.set('a','b')结果:D,[2014-05-13T11:35:34.787624#46689]DEBUG--:Redis>>SETabD,[2014-05-13T11:35:34.788274#46689]DEBUG--:Redis>>0.27ms它似乎适用于所有使用redis-rb的库。但对于sidekiq则不行,因为无法直接访问Redis::Client对象。如何为sid
我想让sidekiq处理我的geocoder后台进程我从来没有真正使用过sidekiq,所以不用说我遇到了一些麻烦。我不断收到undefinedmethodgeocoded_by错误。我的代码如下。Assets/worker/geocode_workerclassGeocodeWorkerincludeSidekiq::Workerextend::Geocoder::Model::ActiveRecorddefperformgeocoded_by:addressreverse_geocoded_by:latitude,:longitudedo|obj,results|ifgeo=res
我已成功配置Sidekiq供我使用,但现在它处理的队列不超过一个。它只处理配置文件中最先写入的队列。例如:---:verbose:true:concurrency:100:pidfile:tmp/pids/sidekiq.pidstaging::concurrency:10production::concurrency:20:queues:-[kritikal,5]-[critical,4]在这种情况下,它只处理kritikal队列。在以下情况下:---:verbose:true:concurrency:100:pidfile:tmp/pids/sidekiq.pidstaging::
我一直在为这个问题苦苦挣扎一段时间,就是想不通。我正在尝试让Redis和Sidekiq为我在Cloud66w/DigitalOcean上托管的Rails项目处理后台作业。所有需要的gem似乎都存在,并且设置在本地完美运行。我的第一次尝试是使用这些设置:这是我的config/sidekiq.yaml文件:---:concurrency:25:pidfile:./tmp/pids/sidekiq.pid:logfile:./log/sidekiq.log:queues:-default-[high_priority,2]:daemon:true根据本教程https://mikecouter
我已经使用centos在ec2rails服务器上部署了我的网站。ec2服务器重启时如何运行sidekiq?我关注了这个http://dxta.github.io/blog/2014/03/06/init-script-for-sidekiq-in-centos/我写了一个如下所示的bash脚本,但是sidekiq没有按预期重启"#!/bin/bash##sidekiqInitscriptforsidekiq##chkconfig:345991#description:Startsandstopssidekiqmessageprocessor#Sourcefunctionlibrary.
应用程序是Rails4.1.4,Ruby2.1.2。使用sidekiq3.2.6、redis3.1.0、celluloid0.15.2。sidekiq实现是默认的,除了连接到远程redis队列(弹性缓存)。当处理某些事件时,我们使用sidekiq来排队调用外部API。API可通过托管我们应用程序的服务器的curl访问。所有其他功能似乎仍按预期执行。此功能已在当前服务器实现/架构上运行数周。在成功部署(使用Capistrano,通过Jenkins)到弹性负载均衡器后面的EC2实例之后,自动缩放组sidekiq将不再连接(?)到elasticcache。SocketError:getadd
这已经被问过很多次了,但我还没有找到任何解决我的确切问题的方法。我有一个Rails4应用程序,我已经安装了SideKiq来处理后台电子邮件处理。我已按照基本说明进行操作,但在运行时一直出现很长的错误bundleexecsidekiq错误的主要部分是Redis::CannotConnectError:ErrorconnectingtoRedison127.0.0.1:6379(Errno::ECONNREFUSED)这是不言自明的,但它似乎在文档中说明了如何解决这个问题(除非我误读了)。很明显我设置错了。我尝试用添加一个sidekiq.rb文件redis={url:(ENV['REDIS
我们正在从Heroku迁移到AWS,我注意到Sidekiq统计数据莫名其妙地重置,原因不明。这发生在连接到同一个Redis实例的多个不同应用程序中,每个应用程序在initializers/sidekiq.rb中设置了自己的namespace。所有Sidekiq计数器的统计数据同时重置。看起来我们可能会暂时断开Redis连接,但这只是一个疯狂的猜测,无论如何我不确定如何缓解它。这是一个常见问题吗?有我可以调整的设置吗? 最佳答案 有人正在运行FLUSHDB或FLUSHALL命令并清除Redis中的数据。启动时可能是其中一个应用程序。
我有一个Rails5应用程序,我开始使用Sidekiq、Heroku和Redis将各种作业转移到后台。到目前为止,我有ResetFinanceDataWorker,它有一个同名的类。//reset_finance_data_worker.rbclassResetFinanceDataWorkerincludeSidekiq::Workersidekiq_optionsretry:falsedefperform()endend我可以通过调用ResetFinanceDataWorker.perform_in(10.seconds)来调用它。理想情况下,我希望在一个文件中有多个工作人员,如下