У меня есть облачная функция, которая выполняет поиск в моей базе данных. Это довольно дорогой процесс, требующий большого количества вычислений. Его цель - найти наилучшее из возможных совпадений. У меня нет способа сделать ранний выход, когда найдено хорошее совпадение, потому что лучшее может быть найдено позже в цикле итерации. Поэтому в идеале я хочу регулярно информировать клиента о лучших матчах. Проблема в облачной функции HTTP, которую я могу вернуть только один раз. Я думал об обновлении результатов в базе данных где-нибудь и чтобы клиент прослушивал изменения, однако, это может быть не намного быстрее, поскольку в этом процессе также будет некоторая задержка. Так есть ли способ возврата нескольких ответов на HTTP-запрос в облачной функции? Есть ли лучшее решение для этого я не вижу?
Псевдо того, что мне нужно
def cloudFunction(someData):
goodMatches = []
for i in database:
if (i == goodMatch):
goodMatches.append(goodMatch)
post new goodMatch to client
return goodMatches