0

我正在尝试使用 Sidekiq 执行一些异步任务。更准确地说,我想在 MongoDB 集合中插入一些值。

出于任何原因,它不起作用。

hard_worker.rb

class HardWorker
  include Sidekiq::Worker

  def perform(name)
      Blog.create(:name => name)
  end
end

控制器.rb

def search  
  if(params[:name].empty?)
    @blogs = Blog.all
  else
    @blogs = Blog.where(name: params[:name])
    if(@blogs.empty?)
      HardWorker.perform_async(params[:name])
    end
   end
end

如果我在 controller.rb 中插入 Blog.create(params[:name]) 它工作正常。但是,当我尝试在异步任务中插入文档时,它不会插入任何内容。

任何想法?

亲切的问候,雨果

4

1 回答 1

0

我会说你配置了一个糟糕的环境。如某些评论所述,您可能遇到以下问题之一:

  1. 没有运行sidekiq
  2. 代码更改后没有完全重新启动sidekiq
  3. sidekiq客户端和服务端运行在不同的redis下。

尝试对上述一种情况进行调试,并让我知道问题是否仍然存在。

于 2013-09-03T13:54:09.160 回答