我开始使用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作业?
提前谢谢?