web-dev-qa-db-fra.com

Le délai d'expiration défini pour les fonctions cloud pour Firebase ne persiste pas dans la console; est-ce un bug?

Mise à jour: J'ai mis à jour la question, pour refléter ce que j'ai décrit dans le corps de la question, et ce qui se passait à l'époque. Cela justifie également pourquoi je n'ai pas marqué la réponse de Sanyam comme correct. Il y avait un bogue dans la console qui rendait les valeurs de délai d'attente éphémères. @ La réponse de MichaelBleigh était la plus pertinente, me permettant de savoir quand le problème était résolu.

J'ai une fonction cloud qui doit fonctionner après le délai d'expiration de 60 secondes par défaut dans certains cas Edge.

Le problème est que, bien que cette valeur puisse être modifiée dans la section Fonctions cloud de la console développeur de Google Cloud, elle revient à la valeur par défaut d'origine après chaque déploiement.

Existe-t-il un moyen de conserver les modifications apportées à ce paramètre, peut-être dans l'un des fichiers de configuration Firebase?

22
Lindauson

Le délai d'expiration par défaut peut être modifié ici https://console.cloud.google.com/functions/list
select function> test function> edit> timeout

36
Sanyam Jain

À partir de fonctions v2.0. vous pouvez également définir le délai d'expiration dans votre déclaration de fonction comme décrit dans la documentation sous la section "Définir le délai d'expiration et l'allocation de mémoire" :

const runtimeOpts = {
  timeoutSeconds: 300,
  memory: '1GB'
}

exports.myStorageFunction = functions
  .runWith(runtimeOpts)
  .storage
  .object()
  .onFinalize((object) = > {
    // do some complicated things that take a lot of memory and time
  });

Comme les notes de version l'ont également souligné:

Vous aurez besoin de firebase-tools> = v4.0.0.

Et sur Mac, vous pouvez obtenir la dernière firebase-tools avec la commande suivante:

npm install -g firebase-tools

Notez également les limitations et les valeurs valides selon le lien doc ci-dessus:

The maximum value for timeoutSeconds is 540, or 9 minutes. 
Valid values for memory are:

128MB
256MB
512MB
1GB
2GB
17
vir us

Après avoir sélectionné votre fonction, puis appuyez sur "Modifier", elle se trouve sous le menu déroulant "Plus" en bas de la page. Le maximum actuel est de 540 secondes.

3
BGitlin

Selon le commentaire de @ MichaelBleigh. Ce problème a été résolu dans la dernière version de l'interface CLI Firebase (3.7.0 au moment de la publication).

Si vous rencontrez toujours ce problème, assurez-vous que vous utilisez la dernière version de l'interface CLI Firebase.

1
Lindauson