首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从worker中的类更新worker的状态

从worker中的类更新worker的状态
EN

Stack Overflow用户
提问于 2019-05-18 08:31:38
回答 1查看 123关注 0票数 0

我有一个从s3下载JSON的worker,然后是一个流JSON解析器(Oj Saj),它将文件解析到我的数据库中。我可以从worker的类更新worker状态,但是一旦我进入解析器类,它就超出了worker的作用域(至少在我看来是这样)

代码语言:javascript
复制
class Worker

  include Sidekiq::Worker
  include Sidekiq::Status::Worker



  class SajParser << Oj::Saj

    at 5 #this doesn't update the status of the worker

  end

  def perform()

    at 5 #this does update the status of the worker

  end

end

我想要一个解决方案,允许我在解析器遍历JSON并将其插入到数据库中时更新worker的状态。

EN

回答 1

Stack Overflow用户

发布于 2019-05-22 11:33:21

如果你可以让Sidekiq::Status #at方法获取要更新的作业的jid和它的当前状态,那么这是可能的。也许你可以跟进这个issue,它看起来和你的一样。

如果我建议实际使用Sidekiq的功能来并行化解析器的工作,而不是让一个工作程序来做工作,因为你在内存中有json,你可以为json的每个部分旋转一个作业,每当其中一个完成时,它应该将它的状态存储在所有作业之间可以访问的地方,比如DB。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56195034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档