使用 Sidekiq 延迟方法链
Delaying a method chain using Sidekiq
我有一个服务对象 #call
来执行昂贵的操作。我想用Sidekiq来执行这个操作。
我正在使用 sidekiq 和 sidekiq-delay。
以下给我一个错误:
MyService.sidekiq_delay.new(arg).call
因为当我调用 .sidekiq_delay
并链接另一个方法时,它 returns 一个字符串。如何使用 Sidekiq 在 MyService
上延迟实例化和 #call
,而不必创建另一个 worker?
编辑
MyService.sidekiq_delay.new(arg).call
给我以下错误
NoMethodError: undefined method `call' for "06139e957f4e73a7a84d9290":String
MyService.new(arg).sidekiq_delay.call
给我以下错误:
NoMethodError: undefined method `sidekiq_delay' for #<MyService:0x007fa81d250a40>
需要先实例化再延迟。
MyService.new(arg).delay.call
编辑:
MyService.new(arg)
应该响应 find(id)
方法。如果没有,你需要写 Custom Workers
我有一个服务对象 #call
来执行昂贵的操作。我想用Sidekiq来执行这个操作。
我正在使用 sidekiq 和 sidekiq-delay。 以下给我一个错误:
MyService.sidekiq_delay.new(arg).call
因为当我调用 .sidekiq_delay
并链接另一个方法时,它 returns 一个字符串。如何使用 Sidekiq 在 MyService
上延迟实例化和 #call
,而不必创建另一个 worker?
编辑
MyService.sidekiq_delay.new(arg).call
给我以下错误
NoMethodError: undefined method `call' for "06139e957f4e73a7a84d9290":String
MyService.new(arg).sidekiq_delay.call
给我以下错误:
NoMethodError: undefined method `sidekiq_delay' for #<MyService:0x007fa81d250a40>
需要先实例化再延迟。
MyService.new(arg).delay.call
编辑:
MyService.new(arg)
应该响应 find(id)
方法。如果没有,你需要写 Custom Workers