问题标签 [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 投票
9 回答
88085 浏览

ruby-on-rails - 是否有控制台命令可以查看队列中的内容并清除 Sidekiq 中的队列?

我习惯于使用delayed_jobs 方法进入控制台查看队列中的内容,以及在需要时轻松清除队列。Sidekiq 中是否有类似的命令?谢谢!

0 投票
1 回答
1205 浏览

ruby-on-rails - 将网络爬虫移到后台:Resque 或 Sidekiq

我有一个 Rails 应用程序,它允许用户上传一个 CSV 文件,其中包含一个要抓取的 URL 列表(有时是 200k)。然后在控制器中,我将转到该文件的每一行,然后调用另一个带有 URL 和一些参数的方法,然后当 crawl 方法完成后,将一些变量保存到几个模型中。下面是我的控制器的样子:

我需要将其移至后台(因此此过程不会保留我的整个 rails 应用程序),并且能够异步运行每一行的代码。我在想像把所有东西都放在一个队列中,并在每一行的队列中排队......或者类似的东西。我在想我可以为此使用 Resque 或 Sidekiq 吗?如果是这样,我应该从哪里开始?

0 投票
1 回答
12630 浏览

ruby - 在开发环境中使用 Rails 服务器启动 Sidekiq

我将Sidekiq用于我的一些后台进程。

目前我做的是:

在一个终端上启动bundle exec rails s ,然后在另一个终端上启动bundle exec sidekiq,以便 sidekiq 自行启动并查找要处理的作业。

我想要的是:

一旦我开始bundle exec rails s它也应该启动 sidekiq bundle exec sidekiq。我如何将它集成到开发环境中?

0 投票
9 回答
21103 浏览

ruby-on-rails - Sidekiq 工作人员没有被触发

我将Sidekiq用于我的后台工作:

我有一个工人 app/workers/data_import_worker.rb

从文件 lib/parse_excel.rb 调用

一旦我从我的操作中触发它,工作人员就不会被调用.. Redis 正在运行localhost:6379

知道为什么这一定会发生。环境是Linux。

0 投票
1 回答
2055 浏览

ruby-on-rails - Sidekiq——Email.delay.sendMail

所以,我有这个代码

运行命令(从控制台)

虽然有效

不起作用,它返回一个字符串。

我该如何调试?我查看了 redis,它有 3 个键,尽管它们似乎都没有任何值。

帮助?

0 投票
1 回答
2550 浏览

ruby - 使用 Sidekiq、Capistrano、Sinatra 进行部署

作为使用 Sinatra 进行 capistrano 部署的一部分:

根据sidekiq/issues/10,我无论如何都看不到让 -r (要求)指向我的 Sinatra 。该应用程序位于 ./app/nodes.rb 中。

我的 config.ru 是

'./app/nodes' 在节点和 sidekiq 需要运行的所有环境中加载。

sidekiq/capistrano.rb中,目前没有传入 -r 标志的选项。

sidekiq.log 按预期报告此错误:

有任何想法吗?

0 投票
1 回答
573 浏览

ruby - Sidekiq 工作人员比 Resque 慢

我在生产中尝试使用 sidekiq 和我的 resque 系统。现在我知道这不是一个苹果与橘子的比较,但我在 heroku 工人上运行的 resque 工作大约需要 4 秒才能完成。我在一个带有 sidekiq 的亚马逊大型实例上只运行了 50 个线程,相同的作业平均需要 18 秒左右。使用第三方 api 的工作非常繁重,所以我假设我的瓶颈只是我的网络连接,但我只是想看看是否有人对我如何更好地配置 sidekiq 有建议。

0 投票
1 回答
351 浏览

ruby - Ruby 中的多线程系统调用

我有一个使用 sidekiq 将一些处理发送到队列的系统。这些过程包括对操纵图像的程序进行系统调用。我对这个程序的表现非常糟糕。当我“顶”我的系统时,几乎所有的 cpu 都被 ruby​​ 消耗了,而图像软件只消耗了一些 CPU。

我尝试用 5、10、20、30 名工人进行测试。增加更多的工人并不能提高处理性能(高值甚至更糟)。

我的工人是这样的:

有什么方法可以改善 Ruby 中的多线程系统调用?

0 投票
1 回答
1107 浏览

ruby-on-rails - sidekiq 不会发送异常通知电子邮件

失败时如何启用从 sidekiq 发送的电子邮件?目前我知道异常通知器正在工作,但当 sidekiq 作业失败时,它什么也不做。

0 投票
2 回答
4465 浏览

ruby-on-rails-3 - 如何正确使用后台作业进行文件上传 rails app heroku

我正在开发一个 Rails 应用程序,该应用程序从用户那里获取上传的文件并将它们推送到框中。问题是某些请求会超时,因为 api 调用花费的时间太长。我想将此进程移动到工作进程,但不确定如何在用户上传文件和工作人员将作业从队列中取出之间保留文件。我看到的所有示例似乎都跳过了这部分,或者不处理使用不是 s3 的 api。我考虑将文件存储在数据库中,但 box api 需要一个文件对象(curl -F @file)而不仅仅是文件的内容。关于如何完成的任何指示?出于性能原因,我希望使用sidekiq,但delayed_job 也可以