同时运行延迟作业和 Sidekiq

2023-11-21

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

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

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


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

Sidekiq.hook_rails!
Sidekiq.remove_delay!

你只会有前缀sidekiq_delay方法等。

(官方文件)


对于旧版本的 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在延迟作业中排队。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

同时运行延迟作业和 Sidekiq 的相关文章

  • Rails 2.3.14:如何序列化 ActionController::Request 对象?

    我需要编写一些根据 Rails 2 3 14 控制器收到的请求对象类型执行操作的方法 但是 我不想启动整个应用程序 甚至不想启动控制器 我只想拥有这样一个对象的编组副本 以便我可以在 Rails 环境之外使用 不幸的是 ActionCont
  • Rails 中的 ActionController::RoutingError (没有路由匹配 [GET] "/favicon.ico")

    我尝试过使用 还有这个 但我仍然在日志文件中看到此错误 ActionController RoutingError No route matches GET favicon ico favicon ico 位于 public 文件夹中 我也
  • Ruby `split':UTF-8 中的无效字节序列(ArgumentError)

    我正在尝试填充电影对象 但是在解析时u item文件我收到此错误 split UTF 8 中的无效字节序列 ArgumentError File open Data u item r do infile while line infile
  • 日期时间到 NSDate

    如何转换字符串2010 11 19T20 00 00Z进入一个NSDate object 我尝试过使用 dateFormatter setDateFormat yyyy MM ddTHH mm ssZ 但看起来我的自定义格式样式错误 PS
  • 在 RSpec 测试期间抑制控制台输出

    我正在测试在控制台上放置一些消息的类 包含 put p 警告等 我只是想知道在 RSpec 测试期间是否有能力抑制此输出 我压抑puts通过重定向在我的类中输出 stout到一个文本文件 这样 如果我出于任何原因需要查看输出 它就在那里 但
  • ActiveRecord 查询,按关联排序,最后一个 has_many

    我试图列出所有Users by the created at最近创建的关联记录 通讯 列 到目前为止我所拥有的 User includes communications order communications created at IS
  • 如何在保存父对象时确保子对象有效?

    假设我有两堂课 class User attr accessible name has one address validates name presence gt true validates associated address end
  • proc函数相对于方法有什么优点

    我正在解决一些问题欧拉计划 http projecteuler net 我提到我总是将短方法包装在 proc 函数中 我问自己 Why 答案是 我不知道 也许是因为它短 那么proc函数相对于普通方法除了短之外还有什么优点呢 Proc is
  • 将 R 与 Rsruby 集成

    我想知道是否有人有将 R 集成到 Rails 中的经验 特别是在 heroku 上 我熟悉 rsruby gem 它是 ruby 与 R 事实上的 也许是唯一的 绑定 但是有关将 R 与 Rails 集成的文档即使不是不存在 也是很少的 比
  • 更快地将数据库从一个heroku应用程序传输到另一个应用程序

    有没有更快的方法将我的生产数据库传输到测试应用程序 目前我正在做一个heroku db pull然后到我的本地机器heroku db push app testapp但这变得越来越耗时 我有一些种子数据 但它并不像简单地使用我的真实数据进行
  • 载波无法删除图像

    我现在使用 Carrierwave 上传图像 一切都很好 除了一个 当我添加用于删除上传图像的复选框时 我收到错误 无法批量分配受保护的属性 remove image Form Model class Manufacturer lt Act
  • 在 Rails ActiveAdmin 视图中添加指向 Flash 通知的链接

    我正在尝试在活动管理控制器成功创建操作的闪存消息中添加链接 但是该链接的 HTML 被转义并在视图上显示为纯文本 Rails 5 2 1 ruby 2 5 3p105 2018 10 18 修订版 65156 x86 64 linux 例如
  • 对 Rails 3.1 中的特定路由强制使用 SSL

    我需要强制启用 SSL所有路线在我的申请中除了landing index In config application rb 我有 config force ssl true Then in landing controller rb 我有
  • 开始使用 Ruby、Watir 和 Ruby Mine?

    我想对电子商务网站进行自动化测试 我安装了 Ruby Watir Gems 和 Ruby Mine 虽然我尝试过 RubyMine 但我不知道如何开始编写一个简单的脚本 如何开始使用 RubyMine 编写简单的脚本 我创建了一个项目 你下
  • 如何在 Mac OS X 上使用 ulimit 或每个进程更改 C 或 Ruby 程序的堆栈大小?

    似乎为 C 程序或 Ruby 程序 使用 C 堆栈 设置堆栈大小的推荐方法是使用ulimit在 Bash shell 中 但 ulimit s 8192 ulimit s 16384 bash ulimit stack size canno
  • 如何在 Ruby 中使用 Safari 技术预览设置 Capybara

    我无法使用 Capybara 和 Selenium 与 Safari 技术预览版 STP 建立会话 Capybara 甚至不会打开浏览器窗口 我已升级到 Ruby 2 3 0 Capybara 2 14 2 Selenium 3 4 0我从
  • 为什么安装 Ruby 1.9.3 时会出现 404 错误?

    我最近擦除了我的计算机 操作系统 Mac OS X 10 6 8 并重新安装了所有开发工具 我再次安装了RVM 但是 它不允许我安装 Ruby 1 9 3 到目前为止我已经尝试过 rvm install 1 9 3 rvm install
  • Rails 应用程序在模型间保存方面遇到问题

    我正在开发一个从网站下载元标签并然后保存的应用程序 下载发生在一个名为Site 我想将下载的机器人元标签保存到一个名为的模型中robots tag它通过一个名为的连接表连接到站点meta tag sites 但是我在站点模型中编写的用于执行
  • Jekyll 站点仅在推送到 GitHub 时才会失败

    我正在使用 Jekyll 开发一个新版本的静态网站 该网站通过 Github 页面部署 https devcampy com https devcampy com 存储库 https github com gianarb devcampy
  • 在部分渲染时执行 JavaScript

    我有一些 JavaScript 代码 我想在用户单击其文件夹之一后执行 它会触发 show 操作和 show js erb 从而呈 现部分内容 Show js erb 当用户单击其文件夹之一时触发 如下所示 body append 它成功注

随机推荐

  • Visual Studio 2017 (.NET Core) 中的自动版本控制

    我花了几个小时的大部分时间试图找到一种在 NETCoreApp 1 1 Visual Studio 2017 中自动递增版本的方法 我知道 AssemblyInfo cs 是在文件夹中动态创建的 obj Debug netcoreapp1
  • 已编译的 iOS 应用程序 (IPA) 中的内容加密

    由于IPA结构只是一个包含编译代码和图像和音频等媒体内容的压缩文件 我如何保护内容不被他人提取和窃取 我可以在 IPA 中添加任何加密吗 这个答案提到应用程序在进入用户设备时已经加密 Apple 是否会修改提交到 App Store 的应用
  • WebRTC:确定 PeerConnection 中使用哪个 TURN 服务器

    场景 您想知道 TURN 服务器是否用于特定呼叫 以及您在创建 PeerConnection 期间提供的 TURN 服务器数组中的哪一个正在使用 现在有两个选择 Wireshark 但是当您位于公司代理后面并且 TURN 服务器位于其外部时
  • 错误:[ProxyFacade] 不是 组件。 的所有子组件都必须是

    我在 React 17 中使用 react router dom 6 0 2 我正在使用打字稿 我试图添加路线 但出现错误 未捕获的错误 ProxyFacade 不是组件 的所有子组件必须是 a 或 我不知道出了什么问题 有什么我错过的吗
  • 将媒体查询与限定选择器相结合的语法

    在我们当前的设计中 表单元素在移动设备上的样式有所不同 media screen and max width 759px form label display block float none There s more 鉴于屏幕空间有限 我
  • 是否可以使用 ImageMagick 渲染多色表情符号?

    我的文本可能包含表情符号 我想用 RMagick 将其渲染成 JPEG 图像 我也可以直接使用 ImageMagick 我只能使用 AndroidEmoji ttf 渲染单色表情符号 但如果我使用 AppleColorEmoji ttf I
  • 在Java中,为什么String是非原始数据类型?

    在Java中我们可以直接使用String声明字符串变量名称并指定其值 即使 String 是非原始数据类型 我们也不必使用 new 关键字将字符串定义为数组 有人可以解释一下为什么 String 是非原始数据类型吗 字符串是非原始的 因为只
  • 使用 CreateProcessAsUser 时等待进程退出

    我在用着创建进程为用户在 C 中通过服务启动进程 我的服务需要等待进程退出 但我不知道该怎么做 我不想检查进程列表中的进程是否存在 The 处理信息返回新创建进程的句柄 hProcess 您可以等待此句柄 当进程退出时 该句柄将发出信号 您
  • 如何在 Visual Studio 中设置项目引用的“特定版本”属性

    我有一个包含多个项目的 Visual Studio 解决方案 并将项目之间的引用设置为项目引用 添加对程序集的引用后 引用的属性包含以下设置 Specific Version True False 项目引用缺少此属性 怎么设置呢 我希望我的
  • REGEX - 允许数字和 . - /

    我需要一个正则表达式来只允许数字和 它应该允许这样的事情 011 235673 98923 0001 12 您正在寻找的模式 仅与带有数字 和 的字符串匹配 0 9 如果您有一种特定的语言 并且想要实现这一点 我也许可以帮助您
  • 从 Socket 使用 InputStream 时 Scanner.nextLine() 会阻塞

    当我使用接收数据时Socket getInputStream 直接 没有像扫描仪这样的接口 它不会阻塞 但是 当我尝试使用扫描仪时 类似于我们从System in 确实如此 我想知道这样做的原因 以及连接的 Socket 提供给您的 Inp
  • 如果值匹配,则将单元格数据连接到另一个数据

    我有两个columns A and B在同一个 Excel 工作表中 我正在尝试如果在Column B两个值匹配 那么它应该复制相关值A在同一行 For e g Table Column A Column B xyz 1 abc 1 pqr
  • 将事件保存到用户的日历

    如何将事件添加到用户的日历中 然后允许用户选择日历等 我有这段有效的代码 但这会将事件添加到用户的默认日历中 如何允许用户更改日历 自定义警报等 我见过其他应用程序打开日历应用程序并预 先填写字段 add to calendar let e
  • 使用 Python 2.x 中的“is”运算符将对象与空元组进行比较

    我看惯了if obj is None 在Python中 我最近遇到if obj is 由于元组是不可变的 这听起来像是 Python 解释器中合理的内部优化 让空元组成为单例 因此允许使用is而不是要求 但这在某个地方得到保证吗 从哪个版本
  • 使用多个键排序时反转特定键

    当使用多个键排序时 如何反转单个键的顺序 例如 vec sort by key k foo k reverse bar k 您可以使用sort by与Ordering reverse代替sort by key use std cmp Ord
  • Rails 3:如何通过javascript触发表单提交?

    我有一个表单 大部分只是作为普通表单提交 所以我不想在 form tag 中设置 remote gt true 选项 然而 在某些情况下 我希望能够有一个 javascript 函数发布表单 就像它是通过 remote gt true 发布
  • ASP.NET Identity - 使用安全标记强制重新登录

    So from ASP NET Identity 的 IUserSecurityStampStore 接口是什么 我们了解到 ASP NET Identity 具有安全标记功能 用于使用户登录 cookie 无效 并强制他们重新登录 在我的
  • 如何将dispatch_data_t转换为NSData?

    这是正确的方法吗 convert const void buffer NULL size t size 0 dispatch data t new data file dispatch data create map data buffer
  • 如何在闪亮页面而不是弹出窗口中渲染 scatter3d

    我正在考虑在我闪亮的应用程序中实现 3D 交互式绘图 到目前为止我一直在使用plotly 然而 plotly 有一个主要缺点 渲染时速度非常慢 我已经完成了检查 尽管涉及大量数据集 但更新的 outplot plot 因此 我希望使用一个名
  • 同时运行延迟作业和 Sidekiq

    我目前使用延迟作业来异步处理作业 我没有创建工人 而是使用 delay方法很多 我想转到 Sidekiq 但我的工作类型太多 无法确保所有工作都是线程安全的 所以我想并行运行 Delayed Job 和 Sidekiq 并一次迁移一种类型的