Так что мне нужно сделать так, чтобы 300+ получить вызовы api, и я не хочу передавать их все сразу и напрягать сервер. Поэтому я думал о том, что, возможно, совершил около 5 асинхронных вызовов за раз. Из того, что я прочитал here operation queues, звучит потрясающе и очень полезно. Из ответа от этого question асинхронный пример создает очередь операций и передает ее в вызов. Я предполагаю, что если бы я сделал что-то подобное, я мог бы просто сделать 5 отдельных очередей и направить мои вызовы в эти 5 очередей (я предполагаю, на самом деле не пробовал, так как я хотел бы использовать Alamofire). Возможно ли подобное с Alamofire?Возможно ли сделать несколько отдельных очередей операций (или что-то подобное) с Alamofire?
1
A
ответ
-1
Сетевые запросы автоматически управляются базовой системой загрузки URL-адресов, поэтому Alamofire должен иметь возможность обрабатывать все, что вы бросаете на него. Есть способы запланировать запросы Alamofire в очереди, но это не обязательно. Всегда лучше пытаться измерять результаты, а не спекулировать.
Значит, вы говорите, что если я попытаюсь и сделаю 300, то получите примерно то же время, что базовая система загрузки URL-адресов будет следить за тем, чтобы она не затопляла сервер? – boidkan
Вся система загрузки URL-адресов может гарантировать, что _client_ не будет откусывать больше, чем может пережевывать. Что касается сервера, 300 не является особенно большим количеством параллельных запросов для обработки. – mattt
Да, ну, наверное, я не объяснил. Так что это 300+ на устройство не более 300+ (и на самом деле сейчас я думаю, что он ближе к 600 с моим текущим кодом). Таким образом, с большим количеством устройств и сервера, которые не могут обрабатывать много трафика, это будет проблемой в моем случае. Я не очень беспокоюсь о стороне клиента. – boidkan