Я работаю над приложением Uber Like / Cab. Я использую Action Cable для этой цели. После создания нового сервера заказов получите список из 10 ближайших водителей и отправьте каждому по очереди детали заказа (с паузой в 40 секунд).
Thread.new do
nearest_drivers.each do |id|
order_data_for_driver = { ... }
ActionCable.server.broadcast("driver_#{id}", order_data_for_driver)
sleep 40
Thread.exit if order.reload.canceled_by_user || order.trip
end
cancel_data = {canceled_by_timeout: true }
ActionCable.server.broadcast("order_#{order.id}", cancel_data )
end
Существует ли ограничение на число потоков, которые рельсы в производственном режиме могут запускать одновременно? Например, если 100 пользователей будут создавать новые заказы. Какое изящное решение можно использовать?