问题标签 [sidekiq]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails-3 - Monit Ruby on Rails Sidekiq
我正在尝试为 Sidekiq 设置 Monit。这是我到目前为止的配置文件:
问题是当我运行 monit reload 程序“捆绑”不存在时,我收到一条消息。
有人对此有解决方案吗?
ruby-on-rails-3 - 通过 sidekiq 和 devise-async 发送后台邮件,队列已满但邮件未处理
我目前正在构建一个 Rails 平台,并且我已经使用设计进行身份验证,现在想使用 sidekiq 将默认设计电子邮件移动到后台进程中。我为此使用了 devise-async 并完成了以下操作:
添加了 devise_async.rb 文件:
在设计模型中添加了 async 命令:
宝石的版本如下:
我遇到的问题是电子邮件在 sidekiq 队列中传递,但工作人员从不执行发送电子邮件。我也看过devise async not working with sidekiq,他似乎也有同样的问题。但我认为我对 hostname 命令没有问题。
对这个问题有什么想法吗?
ruby-on-rails - 如何将此 ActiveRecord::Observer 转换为 Service 对象?
如何将以下 ActiveRecord::Observer 转换为 Service 对象(或者可能是多个对象)?
通过PushService
WebSocket 更新所有连接的浏览器的所有更改。它通过 POST 到外部进程来做到这一点。自从迁移Thread.new
到 Sidekiq 后,观察者就破产了。在 :after_create 中启动的 Sidekiq 作业可以在事务实际提交之前运行,因此它会引发 ActiveRecord::NotFound 错误。
建议使用 :after_commit 钩子,但是这样所需的信息PushService
将record.changes
不可用。
这个观察者实现的有趣用例是,当创建一条新消息时,它是对另一条消息的回复。它将自动运行两个回调。一个 :after_create 用于回复消息,一个 :after_touch 用于线程消息。
我有兴趣了解如何通过使用显式服务对象来运行此行为。
ruby-on-rails - Sidekiq 在运行时创建队列
我开始将 Sidekiq 用于一个小项目。
我想知道是否可以在运行时创建队列并启动它。
当我使用类似的东西时
队列已创建,但我找不到启动它的方法。
ruby-on-rails - Rails:在 Heroku 上启动 Sidekiq
我在 Heroku 部署的 Rails 应用程序上启动并运行 Sidekiq 时遇到问题。我的应用程序在开发中运行良好(以及在没有 Sidekiq 的 Heroku 上)。
我创建了一个 Procfile:
如果我运行heroku ps
,我看到的唯一进程是web.1
.
我应该为 Sidekiq 看一个吗?
我确实收到一个错误:
Redis::CannotConnectError (Error connecting to Redis on localhost:6379)
在我的 Heroku 日志中。
更新:发现我可能需要heroku addons:add redistogo
. 还是行不通。我觉得我缺少一些基本配置。
我需要做些什么来让 Redis 为我的 Heroku 应用程序启动并运行吗?
我已经使用 Redis/Sidekiq 大约一天了,所以这对我来说是新的。
谢谢!
格雷格
ruby-on-rails - 如何让 Sidekiq 工作人员在 Heroku 上运行
我已经用我的 Rails 项目设置了 Sidekiq。它与 Unicorn 在 Heroku 上运行。我已经完成了所有配置步骤,包括设置正确的 REDISTOGO_URL (正如这个问题所引用的那样),我在 unicorn.rb 的 after_fork 中添加了以下内容:
我的Procfile如下:
现在我打电话给我的工作人员 perform_async 并将任务添加到队列中。事实上,在我的 Sidekiq Web 界面中,它显示队列中有 7 个项目,并且其中包含所有数据。然而,没有工作人员处理队列,对于我的生活,我无法弄清楚为什么。如果我跑
我得到以下输出:
有人知道这里发生了什么吗?
更新
这是我的工人阶级的代码。是的,我知道 Oj gem 可能与 sidekiq 存在一些问题,但我想我会先试一试。此时我没有收到任何错误消息(工作人员甚至没有运行)。
ruby-on-rails - 将 Resque 队列转换为 SideKiq
我正在尝试将 Resque 队列转换为 Sidekiq。我已经完成了 Sidekiq 的整个设置,现在准备将我所有的 resque 作业添加到 sidekiq 的作业中。
我的问题是:我可以简单地将redis中的所有resque键重命名为相应的sidekiq键吗?
例如,如果我有一个名为“twitter”的队列,resque 的 redis 键是“resque:queue:twitter”,但 sidekiq 中的键是“queue:twitter”。我可以简单地将“resque:queue:twitter”重命名为“queue:twitter”吗?
ruby - Heroku、Nokogiri 和 Sidekiq 内存泄漏 - 如何调试?
我刚刚切换到在 Heroku 上使用 Sidekiq,但在我的工作运行一段时间后,我得到了以下信息:
它一直这样增长。
对于这些工作,我使用 Nokogiri 和 HTTParty 来检索 URL 并解析它们。我尝试过更改一些代码,但我实际上并不确定我首先要寻找什么。我应该如何调试这个?
我尝试将 New Relic 添加到我的应用程序中,但不幸的是它还不支持 Sidekiq。
此外,在谷歌搜索之后,我试图切换到 SAX 解析器并查看它是否有效,但我被卡住了。这是我到目前为止所做的:
然后我尝试类似:
然后,我尝试对使用 HTTParty 检索到的数据使用以下方法,但无法使这些方法中的任何一个正常工作:
更新
我发现解析器不起作用,因为我正在调用parser.parse(page)
而不是parser.parse(page.body)
但是我尝试使用上述脚本打印出各种网站的所有 html 标签,对于某些网站它打印出所有标签,而对于其他网站它只打印出几个标签。
如果我使用它Nokogiri::HTML()
代替parser.parse()
它工作正常。
我使用Nokogiri::XML::SAX::Parser.new()
而不是Nokogiri::HTML::SAX::Parser.new()
HTML 文档,这就是我遇到麻烦的原因。
代码更新
好的,我现在可以使用以下代码,但不知道如何将我得到的数据放入一个数组中,以便以后使用...
cloud-foundry - Cloudfoundry 上的 Sidekiq Workers
我已阅读有关 Cloud Foundry 上的后台任务的可用文档。但这对如何将 sidekiq 部署到 cloudfoundry 没有帮助?
我怎么跑, bundle exec sidekiq
?
ruby-on-rails-3 - Rails 在控制器外部调用 redirect_to(或渲染)
这似乎是一个微不足道的问题,但我似乎无法在任何地方找到答案(这可能是因为 Rails 对我正在做的事情不满意)。
我正在使用 Sidekiq 来处理后台任务(例如图像处理、上传等),其中一个完成了我想将当前页面重定向到另一个页面,或者甚至更好地渲染出部分。
我当前在 perform 方法中的代码如下所示:
所以,我尝试了几种方法来做到这一点,例如:
还
和
我什至尝试过这种可怕的黑客攻击:
entry_controller.rb
工人.rb
我究竟做错了什么?
参考资料(我查过的东西): 在处理错误验证时,何时使用 render 与 redirect_to