我有20,000到30,000个用户,他们应该在给定时间收到消息。 SendMessage
是针对第三方网站进行API调用的服务。我有这个循环:
@users.each do |user|
...
SendMessage.new(user.id)
...
end
由于用户数量非常多,API响应大约需要一秒钟,而最后一个用户收到的消息要晚于预定时间。
我想过像这样使用Thread
:
@users.each do |user|
...
Thread.new{ SendMessage.new(user.id) }
...
end
我可以这样做吗?在循环中使用Thread.new
20,000次是个好主意吗?有什么缺点吗?还有别的我应该做的吗?