mysql - ActiveRecord 请求过多

标签 mysql ruby-on-rails ruby ruby-on-rails-4 activerecord

我连续插入大约 4000-5000 条记录,平均每个插入请求在 1 毫秒内连续发送,直到添加所有记录。整个导入包含在一笔交易中。作业失败并出现以下错误:

ActionView::Template::Error (Failed.  Response code = 429.  Response message = Too Many Requests.):

我已将错误追溯到我的 model.create 语句。我知道无法使用 ActiveRecord 一次插入多条记录,那么是否可以增加我在短时间内可以发出的请求量?或者,我是否必须使用 gem 一次插入多条记录?即activerecord-import

我很确定如果我捕获了 ActionView::Template::Error 并在重试之前后退几秒钟,它会起作用,但是还有其他方法可以做到这一点吗?

最佳答案

您是否考虑过使用后台作业来完成此任务?根据您使用的数据库,您可以同时插入新数据。

关于mysql - ActiveRecord 请求过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39907176/

相关文章:

sql - 选择行 - 唯一字段作为条件

javascript - 在私有(private) channel 上发送 Pusher 事件

ruby-on-rails - 为什么 Rails 将我的作用域参数括在括号中?

ruby - 如何根据其拥有的字段使用 Mechanize 选择表单?

ruby-on-rails - Ruby on Rails Madness - 在同一对象上调用相同的方法,结果不同..为什么?

php - 如何防止 PHP 中的 SQL 注入(inject)?

mysql - 在 Sequelize 中编码弱实体时出现问题

mysql - 有没有办法从嵌套查询返回计算值?

ruby-on-rails - ruby on rails 中的外键如何命名?

ruby-on-rails - Ruby on Rails-渲染布局