问题标签 [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.

0 投票
2 回答
9751 浏览

ruby - 多个sidekiq实例可以处理同一个队列吗

我不熟悉 Sidekiq 的内部结构,我想知道是否可以启动多个具有相同配置的 Sidekiq 实例(处理相同的队列)。

是否有可能 2 个或更多 Sidekiq 实例将处理来自队列的相同消息?

更新:
在多台机器上运行 Sidekiq 时,我需要知道是否可能存在冲突

0 投票
3 回答
4760 浏览

ruby - 同时运行延迟作业和 Sidekiq

我目前使用延迟作业来异步处理作业。我没有创建工人,而是经常使用这种.delay方法。

我想搬到 Sidekiq,但我有太多类型的工作,无法确保所有工作都是线程安全的。所以我想并行运行 Delayed Job 和 Sidekiq,一次迁移一种类型的作业。

由于 Delayed Job 和 Sidekiq 都提供了该.delay方法,我该如何区分两者?还有其他潜在问题吗?

0 投票
1 回答
2785 浏览

ruby-on-rails - Sidekiq 独特作业的奇怪行为

好。我正在使用 Sidekiq 在后台转换视频文件。我使用sidekiq-unique-jobs gem来避免工作与相同的有效负载对象重复。

我在默认队列中运行我的 sidekiq 进程,没有任何选项,并发为 25。

问题是:经过长时间处理的每个作业(视频文件非常大)都会进入队列积压,但已处理作业的大小也在增加。

工作就像既不完整也不独特。我被困住了。提前致谢

升级版:

我将 Puma 作为 Web 服务器运行。

0 投票
1 回答
2609 浏览

ruby-on-rails-3 - Carrierwave 直接上传到 s3,sidekiq 验证失败

按照 Ryan Bates 教程使用 CarrierWave 和 Sidekiq 的后台作业直接上传到 S3。

我在 sidekiq 日志中的后台工作人员中看到以下错误。

这是我的上传器

文章模型

CarrierWave 配置

拍摄控制器显示负责渲染上传表单的动作

表演动作上传者表格

0 投票
1 回答
481 浏览

ruby-on-rails - 将 ActiveRecord 的数据加载到 Capistrano 的 deploy.rb

我使用 Capistrano 进行部署,使用 Sidekiq 进行队列。我需要加载用户 ID 以在 deploy.rb 文件中设置 :sidekiq_queues 变量以执行 sidekiq 队列。现在我使用以下代码

但它会引发以下错误

我试图将“rubygems”和“active_record”放入deploy.rb,但没有帮助。结果我应该有sidekiq_queues ==“-q parsing_user_1 -q parsing_user_2 -q parsing_user_3 -q parsing_user_4 -q parsing_user_5 -q parsing_user_0”。硬编码队列名称不是解决方案。

0 投票
1 回答
385 浏览

ruby-on-rails - 在 Heroku 上使用 Sidekiq 运行线程时,基本 AR 和 AS 方法出现未定义方法错误

在 Sidekiq 排队作业中运行时,我的一个模型中的特定代码行出现了几个不同的错误。有问题的代码是:

我要么得到undefined method 'scope' for #<ActiveRecord::Associations::AssociationScope:0x00000005f20cb0>要么undefined method 'aliased_table_for' for #<ActiveRecord::Associations::AliasTracker:0x00000005bc3f90>

在另一个 Sidekiq 作业的另一行代码中,我收到错误消息undefined method 'decrypt_and_verify' for #<ActiveSupport::MessageEncryptor:0x00000007143208>

所有这些错误都毫无意义,因为它们是 Rails 运行时支持库的标准方法。

有问题的模型具有为“book_lookups”模型定义的 :has_many 关联,“name”和“value”是“book_lookups”模型中的字段。这总是发生在处理的前 1-3 条记录上。如果我在 Sidekiq 作业之外运行相同的代码,则不会发生这些错误。

我无法在我的开发机器上重现该错误,只能在 Heroku 托管的生产中重现。

我可能通过将代码“BookLookup.new()”放在初始化程序中“解决”了第一组错误,强制模型在 Sidekiq 创建任何线程之前加载。只有一晚的工作要继续,所以我们必须看看这种趋势是否会继续......

即使这解决了眼前的问题,我也不认为它解决了真正的根本问题,即类在使用之前没有完全加载。类加载是原子操作吗?一个线程是否可以开始加载一个类而另一个线程在完全加载之前开始使用该类?

0 投票
2 回答
1758 浏览

ruby - 在 Sidekiq 工作者中使用 Eventmachine http 请求

因此,假设我有一个 sidekiq 进程,它发送一个我不想等待的 http post 请求。我不希望这成为工人速度的障碍。

我的一个想法是将这个简单的示例代码用于 EventMachine Http Request

所以让我们假设我的工作进程在调用回调之前完成。这里会发生什么?这是否意味着指向回调的指针会失败?我想了解这里的控制流程。

0 投票
1 回答
4076 浏览

ruby-on-rails - 如何调试sidekiq?

今天airbrake报告了一个异常。它的摘要说,当 sidekiq 在失败后尝试重试作业时会出现问题。以下是摘要参数的样子:

我似乎只有在作业失败并重试时才会出现异常。我想调试这个,但我不知道从哪里开始:-(

我的问题是:

  1. 工人在什么情况下理解它未能完成工作(他决定重试)?我如何迫使工人失败以试图重现问题?
  2. 是否有关于调试/示例 sidekiq 工作人员的好教程?
  3. 我正在使用sidekiq 2.3.3。升级到新版本会解决问题吗?

奖金轨道实际的堆栈跟踪意外地以

0 投票
2 回答
1022 浏览

ruby-on-rails - 在 sidekiq 中调用 ImageWorker 时未初始化的常量

在我的Banner模型中,我称之为:

我遇到的错误sidekiq是这样的:

0 投票
1 回答
2733 浏览

ruby-on-rails - Rails 3 Sidekiq 乘客

我能够让 Sidekiq 调度程序在本地工作。我遇到的最后一个障碍是如何将其部署到乘客的生产应用程序中。有人可以指出我如何在乘客上连续运行 Sidekiq 的正确方向。

欣赏它。