Я работаю над проектом, который в настоящее время использует firebase-функции в качестве своего бэкэнда, и большую часть времени firebase-функции используются для внесения некоторых легких изменений в базу данных. Однако у нас есть некоторые функции, которые прослушивают изменения в request/[userId]/startProcessingSomething
документах. Эти документы используются для более сложной обработки данных и сохранения результатов для указания c документов в базе данных Firebase. И это сработало в начале, но через некоторое время мы столкнулись с условиями гонки и хотели узнать, когда закончится обработка вышеуказанных запросов, поэтому была идея использовать metadata/[userId]/processingSomethingMetadata
, где мы хранили информацию о текущем состоянии обработка данных.
Мне не нравилось создавать искусственные документы для метаданных, поэтому я стараюсь использовать конечные точки (стандартные GET / POST / PUT / DELETE) для обработки некоторых операций. Тем не менее, я слышу мнение, что это не так, как в случае с firebase-functions.
Есть ли у вас какие-либо идеи, советы, как обрабатывать более сложные запросы / обработки?
Является ли использование RESTful api с функциями firebase плохой идеей?