草庐IT

如何从Sidekiq获得工作执行时间?

我想知道每次运行工作时执行时间。好像有宝石Sidekiq统计那做我想要的,甚至有GUI,但不幸的是,它与Sidekiq5不起作用。我可以从内部获取此类信息履行方法以某种方式?我宁愿避免手动编写基准代码,将我的方法包裹到基准块中看答案您可以从日志输出中刮擦它。

比较sidekiq-cron中的日期时出错

运行sidekiq时,在日志中接收此错误:ERROR:CRONJOB:comparisonofTimewithEtOrbi::EoTimefailedERROR:CRONJOB:/home/user/.rvm/gems/ruby-2.0.0-p247@script-admin/gems/sidekiq-cron-0.3.1/lib/sidekiq/cron/job.rb:434:in`这个地方的错误defnot_enqueued_after?(time)@last_enqueue_time.nil?||@last_enqueue_timesidekiq运行,但记录了此错误。和克朗的工人没有开始

ruby-on-rails-4 - rails-Sidekiq-Redis : RuntimeError (nodename nor servname provided, 或未知)

我正在尝试运行Rails应用程序,使用SidekiqwRedis..配置/初始化器/Sidekiq.configure_serverdo|config|config.redis={url:'redis://redis:6379/1',namespace:'delay_message_dev',driver::hiredis}endSidekiq.configure_clientdo|config|config.redis={url:'redis://redis:6379/1',namespace:'delay_message_dev',driver::hiredis}endsideki

ruby-on-rails-4 - Rails 4.2:sidekiq 无法连接到 Redis(Errno::ECONNREFUSED),由 foreman 启动

在本地主机上的开发模式下(OSX°我开始使用foremanstart我的Procfile是:postgresql:postgres-D供应商/postgresqlredis:redis服务器供应商/redis/db/redis.confredis-slave:redis-servervendor/redis-slave/db/redis.confsidekiq:sidekiq-Cconfig/sidekiq.yml-qdevise,1-qdefault-qmailerssidekiq_web:thin-Rsidekiq.rustart-p9292邮件:mailcatcher-f网络:b

mysql - 使用 sidekiq 扩展 ruby​​ 脚本以将数据存储在 MySQL 中?

我有一个脚本可以在几千条记录上正常运行,我开始学习sidekiq以帮助定期在数百万条记录上运行它。我有两张table;一张满是汽车零件的表格和另一张包含销售统计数据的表格。我通过公司提供的API访问销售统计数据,我的脚本从汽车零件表中获取一行并从零件统计API请求数据并将其存储在另一个表中,用于与另一个数据集一起进行报告。我想知道的是,在使用sidekiq时,在我的汽车零件表中标记记录以了解它们已被处理的最佳方式是什么?我认为使用1或0进行简单标记可能有效,但添加上次修改日期或添加日期可能更有效?哪个选项最适合使用Ruby、Sidekiq和MySQL尽快处理所有记录?我知道遇到插入问题

ruby-on-rails - 使用 Sidekiq 运行更复杂的作业

编辑:其实很简单,我忘了传入site和token我在Heroku上设置了Sidekiq和Redis,我能够让它处理像这样的非常简单的工作:order_worker.rbclassOrderWorkerincludeSidekiq::Workersidekiq_optionsretry:falsedefperform(num_orders)x=3*5endend但根据Sidekiq网络用户界面,更复杂的作业不断失败。我需要以某种方式包含ShopifyAPI和Faker吗?我不太清楚正在运行的是什么。整个应用程序、gems和所有这些都是在workerdyno中创建的吗?order_work

ruby-on-rails - 在 sidekiq 中标记作业以便将来快速搜索和删除

我有一个用例,当将来用户发生某些事件时,我想清除一些sidekiq作业。一种方法是将job_id存储在某个地方(比如redis),然后使用它搜索和删除作业。Sidekiq::ScheduledSet.new.find_job([job_id]).delete但是我必须将它存储在redis中,并在队列中的所有作业中线性搜索。另一种方法是在worker中添加一个额外的参数。然后使用它进行搜索并删除。Sidekiq::ScheduledSet.new.find{|j|j.queue=='my_queue'&&j.args[0]=="my_tag_user_id"}.map(&:delete)

redis - Rails 5.0 升级后 Sidetiq 不工作

我正在将Rails应用程序从Rails4.2/ruby2.2.2迁移到Rails5/ruby2.4。我遇到的大多数“问题”都可以直接解决,但这个问题让我有点困惑。我有许多通过Redis/Sidekiq/Sidetiq发送给工作人员的重复性工作。它曾经工作得很好。现在,当我启动Sidekiq时,我的循环worker作业似乎没有被“加载”,所以基本上它们没有排队或执行。这曾经在我启动Sidekiq后自动发生,但也许我现在需要先显式实例化这些工作类?如果我手动执行并延迟(例如,perform_in1秒)一次循环worker类,那么该类将开始按照应有的循环计划执行。在我手动执行这个“perfo

ruby - Sidekiq 编码错误

我正在学习本教程https://www.pubnub.com/blog/2015-12-08-building-video-sharing-app-server-messaging-ruby/关于构建视频共享应用程序。它有点过时了,我已经不得不解决一个View问题才能走到这一步,但我现在对这个最新的问题很迷茫。我相信它与sidekiq有关。当我尝试上传视频时,它似乎可以正常工作并显示在数据库中,但我收到“视频仍在编码中”。信息。这是日志:2017-03-13T22:00:14.729Z11109TID-ova30dq94WebmVideoEncoderJID-540aa74110e63

ruby-on-rails - 如何随时间限制 Sidekiq 的 REDIS 内存使用量?

我在Rails5应用程序上将SideKiq与HerokuRedis结合使用。随着时间的推移,我的内存利用率呈线性增长,导致我不得不每个月左右升级我的计划。我的负载一直比较平稳。我有一个noeviction的驱逐政策,正如SideKiqwiki中所推荐的那样。这是否意味着我的内存占用量会随着时间的推移继续有增无减? 最佳答案 您应该运行2个Redis实例,一个用于缓存,另一个专用于Sidekiq。这是Sidekiqwiki中的一个条目,对此进行了解释:ManypeopleuseRedisasacache(itworksgreatasa