Searchkick异步更新

时间:2018-02-14 09:02:53

标签: ruby-on-rails ruby elasticsearch searchkick

我开始使用searchkick连接elasticsearch,我遇到了后台作业中索引更新的问题。我在文档中做了所有示例,但sidekiq中的searchkick任务仅在重新启动sidekiq之后才累积和执行,并且在执行之后,任务再次收集而不执行。下面的代码。

这是我的searchkick.rb初始化程序

Searchkick.client =
  Elasticsearch::Client.new(
    url: 'remote_ip:9200',
    retry_on_failure: true,
    transport_options: { request: { timeout: 250 } }
)

Searchkick.redis = ConnectionPool.new { Redis.new }

我模特的一部分

after_commit  :searchkick_indexing

searchkick callbacks: :queue, index_name: :my_index_name

def search_data
  {
    title: title,
    description: description
  }
end

private

def searchkick_indexing
  Searchkick::ProcessQueueJob.perform_later(class_name: "model_name")
end

而且,我还将searchkick队列添加到sidekiq.yml。 如何在不重启sidekiq的情况下始终执行searchkick作业? 提前谢谢?

0 个答案:

没有答案