Не уверен, что он находится в области видимости Firebase, но в официальных документах Firebase.
Я пытался реализовать пример с умеренным изображением , который работал довольно хорошо https://github.com/firebase/functions-samples/blob/Node-8/moderate-images/functions/index.js
Потребовалось около 1 минуты, чтобы получить URL-адрес для загрузки размытого изображения.Затем я попробовал совершенно ту же функцию ImageMagick с частичным размытием:
await spawn('convert', [tempLocalFile, '-region', '10x10+5+5', '-blur', '0x8', tempLocalFile]);
Она также работала без проблем и заняла то же время.
Затем я попытался выполнить последовательность этой операции, например:
for (const i in regions) await spawn('convert', [tempLocalFile, '-region', i, '-blur', '0x8', tempLocalFile]);
В regions
было 8 элементов, поэтому операция преобразования была выполнена 8 раз.На 2-й минуте консоль показала Function execution took 60003 ms, finished with status: 'timeout'
.На 9-й минуте я получил изображение с 8 размытыми областями, как и предполагалось .
Итак, вопросы:
- Это нормальное время для такой базовой манипуляции с изображением?
- Может ли это быть как-то ускорено?
- Каким может быть рабочий процесс, если вы решите получить результат Cloud Vision JSON, выполнить все манипуляции с изображениями на стороне клиента, а затем повторно загрузить окончательное изображение обратно в Firebase?