我在数据库中有用户的233_997记录。这需要超过10分钟的时间来迭代,我需要遍历每个任务才能将作业发送到sidekiq。服务器在为每个用户创建作业之前超时。我做什么好?
User.find_each do |user|
UpdateMembershipLevelWorker.perform_async(user.id)
end如何在不使服务器超时的情况下完成此请求?它的User.find_each部分是非常慢的。但也许这对于200k的记录来说是正常的。
发布于 2013-02-01 12:26:12
# app/workers/hard_worker.rb
class HardWorker
include Sidekiq::Worker
User.find_each do |user|
UpdateMembershipLevelWorker.perform_async(user.id)
end
end(从网站复制:) )
我通常在长时间运行的进程中所做的是,在后台运行它们,并将状态写入db表。因此,稍后我可以向用户显示错误等信息。
https://stackoverflow.com/questions/14639648
复制相似问题