首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >User.all在本地需要5-10分钟。遍历每个对象的请求超时

User.all在本地需要5-10分钟。遍历每个对象的请求超时
EN

Stack Overflow用户
提问于 2013-02-01 12:18:39
回答 1查看 97关注 0票数 0

我在数据库中有用户的233_997记录。这需要超过10分钟的时间来迭代,我需要遍历每个任务才能将作业发送到sidekiq。服务器在为每个用户创建作业之前超时。我做什么好?

代码语言:javascript
复制
User.find_each do |user|
  UpdateMembershipLevelWorker.perform_async(user.id)
end

如何在不使服务器超时的情况下完成此请求?它的User.find_each部分是非常慢的。但也许这对于200k的记录来说是正常的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-01 12:26:12

代码语言:javascript
复制
# app/workers/hard_worker.rb
class HardWorker
  include Sidekiq::Worker

  User.find_each do |user|
   UpdateMembershipLevelWorker.perform_async(user.id)
  end 

end

(从网站复制:) )

我通常在长时间运行的进程中所做的是,在后台运行它们,并将状态写入db表。因此,稍后我可以向用户显示错误等信息。

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

https://stackoverflow.com/questions/14639648

复制
相关文章

相似问题

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