这是我的代码
users = User.all
# Latency issues with connecting with Heroku and MC
Gibbon::API.timeout = 120
gb = Gibbon::API.new
batch = []
users.each do |user|
batch << user.mail_chimp_information
end
puts gb.lists.batchSubscribe(id: "MC_ID_HERE", batch: batch, double_optin: false, update_existing: true)
上面的代码设置为在每晚 cron 上运行,批量订阅(或更新现有)用户到我的 MailChimp 帐户。我的应用程序在 Heroku 上运行,这会导致检索用户出现问题,然后在将它们发送到 MailChimp 之前遍历它们。如果我删除该Gibbon::API.timeout = 120
行,则默认值为 15 秒并超时。
将用户信息批量上传到外部 API 的最佳做法是什么?目前手动设置超时是一种快速解决方法,但是随着我的用户群的增长,再次发生超时的威胁就越大。