Я вставляю примерно 4000-5000 записей подряд, в среднем запросы вставки отправляются в пределах 1 мс каждый непрерывно, пока не будут добавлены все записи. Весь импорт заверяется в одну транзакцию. Задание не выполняется со следующей ошибкой:Слишком много запросов ActiveRecord
ActionView::Template::Error (Failed. Response code = 429. Response message = Too Many Requests.):
Я проследил ошибку вплоть до моего model.create заявления. Я знаю, что нет возможности вставлять сразу несколько записей с помощью ActiveRecord, так что можно увеличить количество запросов, которые я могу сделать за короткий промежуток времени? Или мне нужно использовать драгоценный камень для вставки нескольких записей одновременно? то есть activerecord-import
Я уверен, что если я поймал ActionView :: Template :: Error и отступил на несколько секунд, прежде чем повторить попытку, это сработает, но есть ли другой способ сделать это?
Можете ли вы подробно рассказать о том, что задача, которую вы на самом деле пытаетесь решить? Зачем вам нужно вставить 4000 записей в один запрос? – max
Этот импорт работает только раз в то время, он в основном берет большое количество записей из внешнего API и сохраняет его в нашей базе данных. Данные из внешнего API поступают на страницы, но в настоящее время мы получаем все страницы и сохраняем все за один раз, так что это атомный. – user6689604
Возможно, вы захотите использовать инструмент для массового вставки, если вы часто это делаете. – tadman