草庐IT

sidekiq-superworker

全部标签

redis - 如何在重启前通过 capistrano 删除 sidekiq 特定的 redis 缓存

在Rails代码部署中,sidekiq重新启动,我们希望在重新启动之前从实例中删除sidekiq特定的redis缓存。这就是我们想要实现的1.sidekiq:停止2.连接sideiq指向的远程redis3.选择数据库(比如选择1)。3.删除缓存(比如flushall)我应该如何通过Capistrano自动执行此操作。 最佳答案 您可以通过直接调用Sidekiq队列或在步骤#3中它们自己的Rake任务来刷新Sidekiq队列Sidekiq::ScheduledSet.new.clear#clearthescheduledqueue..

ruby-on-rails - sidekiq getaddrinfo错误(没有地址)

我正在尝试运行sidekiq,但出现此错误:getaddrinfo:没有与主机名关联的地址这是我的sidekiq文件(配置初始化程序)中的内容:Sidekiq.configure_serverdo|config|config.redis={url:'redis://Policia9@host:6379'}endSidekiq.configure_clientdo|config|config.redis={url:'redis://Policia9@host:6379'}end看来我只是简单地使用了docu中给出的不存在的主机,当然我需要把我自己的主机或ip放在那里,但我不知道在哪里可以

ruby-on-rails - sidekiq getaddrinfo错误(没有地址)

我正在尝试运行sidekiq,但出现此错误:getaddrinfo:没有与主机名关联的地址这是我的sidekiq文件(配置初始化程序)中的内容:Sidekiq.configure_serverdo|config|config.redis={url:'redis://Policia9@host:6379'}endSidekiq.configure_clientdo|config|config.redis={url:'redis://Policia9@host:6379'}end看来我只是简单地使用了docu中给出的不存在的主机,当然我需要把我自己的主机或ip放在那里,但我不知道在哪里可以

ruby-on-rails - 测试使用 .delay 时是否创建了 Sidekiq 作业

我将Rails4.2与sidekiq4.1结合使用。我想测试我实际上是在排队等待删除用户。现在我正在代码中做这样的事情User.delay.destroy(user_id)我已经习惯这样测试了it{expect(UserRemoveWorker.jobs.size).toeq1}但我没有这样的工作人员,我不想创建一个新工作人员(在本例中为UserRemoveWorker),因为我可以简单地调用delay方法。查看我是否已将作业排队/将其写入Redis的最佳方法是什么?谢谢! 最佳答案 assert_equal1,Sidekiq::E

ruby-on-rails - 测试使用 .delay 时是否创建了 Sidekiq 作业

我将Rails4.2与sidekiq4.1结合使用。我想测试我实际上是在排队等待删除用户。现在我正在代码中做这样的事情User.delay.destroy(user_id)我已经习惯这样测试了it{expect(UserRemoveWorker.jobs.size).toeq1}但我没有这样的工作人员,我不想创建一个新工作人员(在本例中为UserRemoveWorker),因为我可以简单地调用delay方法。查看我是否已将作业排队/将其写入Redis的最佳方法是什么?谢谢! 最佳答案 assert_equal1,Sidekiq::E

ruby - 使用 'redis-sentinel' 配置 'sidekiq' gem

需要帮助使用“sidekiq”配置“redis-sentinel”gem。获取此错误->获取消息时出错:ERRunknowncommand'sentinel'请参阅此要点(从底部开始)-https://gist.github.com/nitinstp23/6919253提前致谢。 最佳答案 少了一步。您需要像这样定义Redis.current:redis_connection=proc{Redis.current=Redis.new(master_name:"mymaster",sentinels:sentinels[Rails.e

ruby - 使用 'redis-sentinel' 配置 'sidekiq' gem

需要帮助使用“sidekiq”配置“redis-sentinel”gem。获取此错误->获取消息时出错:ERRunknowncommand'sentinel'请参阅此要点(从底部开始)-https://gist.github.com/nitinstp23/6919253提前致谢。 最佳答案 少了一步。您需要像这样定义Redis.current:redis_connection=proc{Redis.current=Redis.new(master_name:"mymaster",sentinels:sentinels[Rails.e

ruby - sinatra 应用程序的多个 sidekiq 队列

我们有一个RubyonSinatra应用程序。我们使用sidekiq和redis进行队列处理。我们已经实现并使用sidekiq来排队插入数据库的作业。到目前为止它工作得很好。现在我想添加另一个作业,它将从数据库中读取批量数据并导出到csv文件。我不希望这两个作业都在同一个队列中,而是可以在同一个应用程序中为这些作业创建不同的队列吗?请给出一些解决方案。 最佳答案 您可能需要高级队列选项。在这里阅读它们:https://github.com/mperham/sidekiq/wiki/Advanced-Options从命令行创建csv队

ruby - sinatra 应用程序的多个 sidekiq 队列

我们有一个RubyonSinatra应用程序。我们使用sidekiq和redis进行队列处理。我们已经实现并使用sidekiq来排队插入数据库的作业。到目前为止它工作得很好。现在我想添加另一个作业,它将从数据库中读取批量数据并导出到csv文件。我不希望这两个作业都在同一个队列中,而是可以在同一个应用程序中为这些作业创建不同的队列吗?请给出一些解决方案。 最佳答案 您可能需要高级队列选项。在这里阅读它们:https://github.com/mperham/sidekiq/wiki/Advanced-Options从命令行创建csv队

ruby-on-rails - 使用 nginx redis 和 sidekiq 的 Rails 4.2 负载平衡

您好,我刚刚启动了一个rails4应用程序,它使用nginx作为负载均衡器,在2个端口上具有薄服务轨。此外,我使用redis作为缓存,sidekiq也在使用它。我想知道如何使用另一台机器进行扩展,以便在那里运行另外两个Rails应用程序。我的想法是在另一台机器上再运行两个Rails应用程序,但令人头疼的是redis,因为sidekiq正在大量使用它。我的第一个想法是拥有另一个在第二台机器上只读的redis从机。但这可能容易出错,因为我有很多写入redis以检查工作队列。下面的场景让我有点困惑。Web应用程序发出请求并触发执行长时间运行操作的sidekiq,它不断更新redis中的状态。