从一个工人调用多个sidekiq工人

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从一个工人调用多个sidekiq工人相关的知识,希望对你有一定的参考价值。

我必须根据用户的请求运行多个作业。然而,在这些作业中只有一个是重要的。

所以我有一个 MainWorker 在其 perform 方法,我调用不同的其他工人,如 Worker1, Worker2.

Worker1和Worker2可以延迟,我需要优先考虑MainWorker。

所以现在我的执行方法是这样的

class MainWorker
 def perform( user_id ) 
   User.find( user_id ).main_task
   Worker1.perform_async( user_id ) 
   Worker2.perform_async( user_id ) 
 end
end

我以后可能会有更多的子工出现。 我想知道这是否是一个好的做法,或者有更好的方法来做这件事。然而我给自定义的队列名称和基于工人的优先级。

答案

Sidekiq有一些第三方的附加组件。请看这里。https:/github.commperhamsidekiqwikiRelated-Projects)。

一个可能对你有帮助的是。SidekiqSuperworker.

以上是关于从一个工人调用多个sidekiq工人的主要内容,如果未能解决你的问题,请参考以下文章

Rails 6 应用程序如何将 Sidekiq+Redis 用于 Hotwire/Stimulus,而将 DelayedJob 用于“工人工作”,例如电子邮件

Django celery 多个具有特定并发的工人

从多个火花工人以镶木地板格式保存

当多个工人完成一个未知大小的工作时如何得到通知?

找不到工人。代码 404。当我调用停止录制 Restful API 时

Gunicorn 与多个工人:有没有一种简单的方法可以只执行一次某些代码?