如何使用sidekiq和queue作为searchkick"回调"选项



我正在使用searchkick在RoR4应用程序上使用弹性搜索。Searchkick非常棒,而且使用起来非常容易,但它的一些选项并没有得到很好的描述。这是一个流量很大的网站,所以我试图用sidekiq异步完成大部分工作。我我试图在创建/更新记录后设置更新索引以异步工作,但:queue选项似乎更适合我的情况,因为它正在对丢失的记录进行批量更新。

所以,文档说要在模型上设置_up-redis和回调选项,以及:

然后,设置要运行的后台作业。

Searchkick::ProcessQueueJob.perform_later(class_name: "Product")

将代码放在哪里?

当我添加一些记录时,它们在我运行一次之前是不可见的,所以它应该在计划中运行吗?作为CRON任务?

是的,你应该设置cron作业:创建rake任务并开始执行它。searchkick回调as队列使用Redis队列。一旦工作开始,就需要所有累积的";产品";到目前为止的id并对其进行索引。因此,如果你想让你的产品索引更新,你需要反复执行这项工作。

最新更新