Чтобы ограничить количество отправляемых сообщений, вы можете использовать это:
Messages.find(someconditions, :limit => 100)
Если вы хотите ограничить, самый простой способ, вероятно, состоит в создании нескольких отложенных заданий, где они run_at
времябудущее.
Если вы хотите немного изменить свое приложение, вы можете добавить время send_at к вашей таблице сообщений, а когда вы создаете свои сообщения, сделайте что-то вроде:
current_send_at = Message.for_user(current_user).latest.send_at || Time.now
new_message.send_at = current_send_at + 1.minute
new_message.save!
Тогдав вашей отложенной работе вы выбираете сообщения, где send_at < now()
.Имеет ли это смысл?