Позвольте мне описать основной поток, который я пытаюсь реализовать:
- Вход пользователя
- Система получает список подключений пользователя, используя HTTP-запрос к стороннему API (может быть в тысячах). Я назову этот список userConnections.
- Система извлекает сохраненные соединения из базы данных моего приложения (может быть в 100 000). Я назову этот список связи.
Затем система проверяет, существует ли уже каждое userConnection в списке connections, и, если нет, сохраняет его в базе данных:
for userConnection in userConnections { if connections.contains(userConnection) { //do nothing } else { saveRecord(userConnection) } }
Проблема в том, что когда первые пользователи входят в систему, приложение попытается сделать 1000 вызовов saveRecord в секунду, что не позволит сервер CloudKit.
Как я могу реализовать это по-другому, используя CloudKit и Swift, чтобы поддерживать приемлемое количество запросов в секунду, например ~ 30 или 40?