我目前正在构建一个仪表板应用,我不确定我的解决方案是否正确。目前我有一个每30秒运行一次的Sidekiq作业。该作业将数据保存到数据库并将新结果流式传输到每个仪表板。我必须解决的问题是从这项工作中将数据(使用ActionCable)仅流式传输到“在线”仪表板。(如果仪表板在浏览器选项卡中打开)解决方案是从我的DashboardChannel保存在Redis中,例如:classDashboardChannel我将打开的标签页数保存在键“dashboard_#{DASHBOARD_ID}_online”中。保存选项卡的数量很重要,因为如果您只保存true/false(1/0),当仪表板在2
我正在使用Sidekiq创建Elasticsearch回调。我启动了Redis和Sidekiq,并在Rails控制台中创建了一个对象,但似乎perform_sync没有触发。如果我将require'sidekiq/testing';Sidekiq::Testing.inline!添加到sidekiq.rb,它会按照我的预期记录并引发错误。我错过了什么吗?ruby2.3.0rails5.0.2Sidekiq4.2.9Redis3.2.0sidekiq.rbREDIS_URL='localhost'REDIS_PORT='6379'Sidekiq.configure_serverdo|co
我有一个Rails应用程序,它使用nginx和capistrano部署在2个ec2实例上。对于后台工作,我使用了sidekiq和redis。我在服务器上有50GB内存。我还将max_pool_size设置为50个sidekiq并发。我想使用一个实例作为Sidekiq的专用服务器。我该怎么做? 最佳答案 您将无法同时拥有Rails应用和Sidekiq服务器。你可以有一个连接到实例的Rails应用程序,该实例也有一个Rails应用程序的副本和一个Sidekiq服务器。您在Sidekiq服务器上唯一需要做的不是运行rails,而是只运行s
如果我有两个队列,默认队列和关键队列,并且并发设置为10,这是否意味着每个队列都将运行10个并发线程来执行存储在Redis数据库中排队的作业?或者线程是这里使用的错误术语? 最佳答案 每个Sidekiq进程将创建10个线程。并发性是指每个进程可以同时处理多少个作业。队列是Redis中的一组作业。 关于redis-sidekiq中每个队列的并发性如何工作?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com
我正在使用sidekiq和redis设置后台任务。让它在开发中完全正常工作,但是在暂存站点上测试时我得到:NameError:uninitializedconstantInviteWorker::User/controllers/users_controller.rbclassUsersControllerparams[:user])[0]:@user=User.find_by_email(cookies[:h_email])user_id=@user.idcontent=params[:body]emails=params[:email].split(',')total_emails
在模型中创建用户后,作业会排队用户.rbafter_create_commit:profile_photo_jobdefprofile_photo_jobmessage="Addaprofilephoto"ReminderJob.set(wait:1800).perform_later(self.id.to_s,message)endreminder_job.rbclassReminderJob但是,它经常在我的sidekiq控制台中抛出以下错误ActiveRecord::RecordNotFound:Couldn'tfindUserwith'id'=7749Processor:Use
我们的服务器使用AmazonAWSUbuntu机器。Rails4.2.7和Ruby2.3我已经按照这些说明安装了redis(Redis)并使用Sidekiq安装了sidekiq我启动了redis,然后仅使用bundleexecsidekiq启动了sidekiq,它在运行作业时出现错误FATAL:passwordauthenticationfailedforuser"ubuntu"不确定为什么会出现此错误。有什么建议吗? 最佳答案 关闭此线程,因为它已修复。将Redis的权限从根级别更改为用户级别。并在生产模式下运行sidekiq。
当我从Rails控制台运行sidekiq时ActivationWorker.perform_async(832181)它工作正常,但是当我从应用程序中点击时,没有任何执行,也没有在log/sidekiq.log中获取任何日志 最佳答案 生产模式下的Rails控制台让环境有所不同?dev和prod之间的配置可能不同。您看到工作人员在sidekiq管理中监听吗?您可以检查sidekiq_options以帮助调试。我没有shell,但如果您可以使用rails控制台,请尝试检查您的ActivationWorker并查看您是否有选项的散列。也
我想在我的Rails应用程序中实现sidekiq。我成功创建图像和容器。但是当我尝试在应用程序中执行作业容器时找不到redis。我如何将我的应用程序容器(具有自己的IP:端口)与Redis容器(具有自己的IP:端口)连接。我认为问题隐藏在sidekiq.rb中。但我不确定sidekiq_config={url:""}Sidekiq.configure_serverdo|config|config.redis=sidekiq_configendSidekiq.configure_clientdo|config|config.redis=sidekiq_configend我想运行2个容器:
我对ruby中的sidekiq有疑问。我正在构建一个系统来发送事件电子邮件,10k-50k电子邮件/事件。现在我正在使用Redis和Sidekiq,我为每封电子邮件创建一个工作人员,如下所示:receivers.eachdo|receiver|beginemail_sending_log=EmailSendingLog.create(email:receiver["email"],sender:sender["email"],content:content["value"],status:"REQUESTED")EmailWorker.perform_async(adapter,r