加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – Sidekiq返回延迟方法的值

发布时间:2020-12-17 03:06:12 所属栏目:百科 来源:网络整理
导读:我使用Sidekiq来运行在控制器中延迟的方法(同时我使用Redis来更新进度条).这个方法调用服务器,检索数据,做一些操作和计算;然后可能需要一段时间. 例如,我有这个方法: data_and_status = MyModelName.delay.retrieve_data(params[:tags],"preview",current_u
我使用Sidekiq来运行在控制器中延迟的方法(同时我使用Redis来更新进度条).这个方法调用服务器,检索数据,做一些操作和计算;然后可能需要一段时间.

例如,我有这个方法:

data_and_status = MyModelName.delay.retrieve_data(params[:tags],"preview",current_user,params[:from],params[:to])

这个方法应该返回操作的数据,但是以这种方式做data_and_status是一个哈希(我猜这是Sidekiq-job-id).
返回的数据非常大,不幸的是,使用Redis进行一些缓存是不可能的.

如何检索延迟作业(方法)的返回值?

解决方法

你说返回的数据(来自你的异步作业)非常大,并且通过Redis中继它是不可能的.好吧,你的sidekiq作业在不同的进程中运行,甚至可能在不同的服务器上,所以你必须找到一些进程间的方式来传输数据 – 如果不是你的消息队列(Redis),那么数据库.

例如:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读