我注意到我的 Migrations 和 Rake Tasks 基本上在创建大约 10k 新记录后停止。有没有其他人注意到这个问题?Heroku 是否在做一些节流?
除了将 Migration/Rake 任务分解成更小的部分之外,还有什么建议吗?
这是 Heroku 的已知问题吗?
细节:
- Rails 3.1.10 应用程序
- Heroku 雪松
- 登录到控制台已禁用,但我打印了一个“。” 每次写
想法:
起初我认为是通过网络打印了太多的 SQL 语句,从而减慢了连接速度或类似的坏魔法。但是由于我禁用了日志记录,所以什么都没有改变。此外,它与代码无关——当我创建数千条任何类型的记录时,我会注意到它。
编辑
我Suggestion
在调用此代码的循环中创建记录:
# in suggestable.rb
# Suggestable polymorphically represents objects which can be suggested
has_many :parent_suggestions, class_name: 'Suggestion', as: :suggestable, dependent: :destroy
# create Suggestion for this suggestable / suggestee
def suggest_to!(suggestee, conf=0)
get_parent_suggestion_for(suggestee) ||
parent_suggestions.create(suggestable: self, confidence: conf, suggestee: suggestee)
end