同时运行延迟的作业和Sidekiq

编程入门 行业动态 更新时间:2024-10-21 14:25:29
本文介绍了同时运行延迟的作业和Sidekiq的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我目前使用延迟作业异步处理作业。我没有使用工人,而是大量使用 .delay 方法。

I currently use delayed job to process jobs asynchronously. Instead of creating workers, I use the .delay method a lot.

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

I want to move to Sidekiq, but I have too many types of jobs, and can't make sure all of them are thread safe. So I want to run Delayed Job and Sidekiq in parallel, and migrating one type of job at a time.

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

Since both Delayed Job and Sidekiq offers the .delay method, how can I make the distinction between the two? Are there any other potential issues?

推荐答案

对于Sidekiq 2.17.1及更高版本,在Rails初始化程序中的某个位置,调用以下命令:

For Sidekiq 2.17.1 and later, somewhere in the Rails initializers, call the following:

Sidekiq.hook_rails! Sidekiq.remove_delay!

,您将只使用前缀 sidekiq_delay 方法

(官方文件)

对于较旧版本的Sidekiq:

For older versions of Sidekiq:

将以下内容放入 config / initializers / sidekiq.rb

module Sidekiq::Extensions::Klass alias :sidekiq_delay :delay remove_method :delay alias :sidekiq_delay_for :delay_for remove_method :delay_for alias :sidekiq_delay_until :delay_until remove_method :delay_until end module Sidekiq::Extensions::ActiveRecord alias :sidekiq_delay :delay remove_method :delay alias :sidekiq_delay_for :delay_for remove_method :delay_for alias :sidekiq_delay_until :delay_until remove_method :delay_until end module Sidekiq::Extensions::ActionMailer alias :sidekiq_delay :delay remove_method :delay alias :sidekiq_delay_for :delay_for remove_method :delay_for alias :sidekiq_delay_until :delay_until remove_method :delay_until end

然后可以使用 sidekiq_delay 在Sidekiq中排队,然后调用 delay 在延迟作业中排队。

And then you can use sidekiq_delay to queue in Sidekiq, and call delay to queue in Delayed Job.

更多推荐

同时运行延迟的作业和Sidekiq

本文发布于:2023-11-27 09:18:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1637474.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:作业   Sidekiq

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!