Quiero usar las funciones a las que se puede llamar de Firebase para ejecutar comprobaciones en el back-end, pero me preocupa el arranque en frío. Por ejemplo, quiero comprobar si un usuario tiene suficientes créditos para descargar un determinado producto, pero me gustaría evitar que los usuarios esperen 10 segundos o más antes de que esta promesa se resuelva o rechace, y ejecutar estas comprobaciones desde el front-end no es una opción. como cualquiera podría pasarlos por alto.
¿Hay alguna manera de aprovisionar un grupo seleccionado de funciones a las que se puede llamar en Firebase para que la experiencia completa no se sienta lenta y frustrante para los usuarios? Muchos usuarios si tienen que esperar 10 segundos (aunque sea solo por primera vez) podrían dejar de usar este servicio que quiero vender...
¿Hay alguna forma de aprovisionar un grupo seleccionado de funciones a las que se puede llamar en Firebase?
Sí, como se explica en el documento , puede establecer una cantidad mínima de instancias para una función de nube determinada con el parámetro runWith , como se muestra a continuación:
exports.myCallableCloudFunction = functions .runWith({ // Keep 1 instance warm minInstances: 1, }) .https.onCall((data, context) => { // Cloud Function code }); Puede tener más de una instancia activa pasando el valor deseado, por ejemplo, minInstances: 3 .
Tenga en cuenta que "una cantidad mínima de instancias que se mantienen en ejecución incurren en costos de facturación a tasas inactivas. Por lo general, mantener activa una instancia de función inactiva cuesta menos de $ 6.00 por mes" (extracto del documento).
Tenga en cuenta también que debe configurar cada Cloud Function con esta opción, AFAIK no puede aplicarla a un grupo de Cloud Functions.