рубин на рельсах одновременно добавляет - PullRequest
1 голос
/ 14 июня 2011

У меня есть модель с ассоциацией has_many. Ассоциация также имеет компонент: after_add, который увеличивает счетчик. Мне было интересно, как это будет действовать в параллельном сценарии (например, когда два разных экземпляра добавляются в has_many в одно и то же время). Счетчик увеличится на 2? Внутренние рельсы получают блокировку, увеличивают и снимают блокировку? Считается ли обратный вызов add и: after_add одним атомарным действием?

Спасибо.

1 Ответ

2 голосов
/ 14 июня 2011

Пока вы используете методы инкремента и не используете SELECT, инкремент Ruby, затем UPDATE, все будет в порядке.Дополнительная информация: rails 3 & activerecord: нужно ли принимать специальные меры предосторожности при блокировке записи для обновления поля счетчика?

...