Я получаю сообщение об ошибке «превышен крайний срок» во внешнем интерфейсе при вызове функции вызываемой облачной среды Firebase (onCall).
Я знаю, что мне нужно вернуть Обещание, чтобы функция знала, когда нужно очистить себя, но она все еще не работает.
Через 60 секунд «превышен срок» - выбрасывается винтерфейс, но функция продолжает работать на сервере и завершается с успехом. Все пакетные операции записываются в пожарный. Он ожидает завершения функции и возвращает.
exports.syncExchangeOperations = functions
.runWith(runtimeOpts)
.https.onRequest((req, res) => {
return cors(req, res, async () => {
try {
let auth = await admin.auth().verifyIdToken(req.get('Authorization').split('Bearer ')[1]);
let userExchange = await getUserExchange(
auth.uid,
req.query.exchangeId
);
let response = await Promise.all([
getUserLastOperations(auth.uid, userExchange.exchangeId),
getSystemExchange(userExchange.exchangeId)
]);
let userExchangeLastOperations = response[0];
let systemExchange = response[1];
switch (systemExchange.id) {
case 'binance':
await syncBinanceOperations(
auth.uid,
userExchange,
userExchangeLastOperations,
systemExchange
);
}
res.status(200).send();
} catch (error) {
res.status(401).send(handleErrors(error));
}
});
});