web-dev-qa-db-fra.com

Comment activer "toujours activé" pour une fonction Azure?

J'ai une application de fonction avec 3 fonctions, dont une déclenchée par minuterie toutes les 2 minutes. J'ai observé qu'après un certain temps, la fonction cesse d'être déclenchée, mais redémarre lorsque je vais sur le portail.

Si je comprends bien, la raison en est que par défaut, "Always On" est désactivé. Cependant, lorsque je vais dans Paramètres d'application/Paramètres généraux, je ne peux pas activer l'état "On", qui est grisé. Je peux décocher "Off", qui ne semble pas coller ou activer "On".

enter image description here

Suis-je en train de manquer quelque chose d'évident? Always-On est-il la solution à mon problème ou dois-je faire autre chose?

Remarque: les fonctions sont écrites en F #; Je doute que cela soit important, mais j'ai pensé que je le mentionnerais juste au cas où.

25
Mathias

Cette réponse s'applique à tous les scénarios Azure Function, à l'exception de ceux qui sont déclenchés par une demande http.

Il y a 3 cas à examiner:

  1. Vous avez une application de fonction exécutée dans un Plan de service d'application gratuit/partagé: Always On n'est pas disponible et ces scénarios ne sont tout simplement pas pris en charge.
  2. Vous avez une application de fonction exécutée dans un Plan de service d'application de base/standard/premium: Always On est disponible et peut être activé. En fait, il est activé par défaut et vous obtiendrez un avertissement dans l'interface utilisateur des fonctions si vous le désactivez.
  3. Vous avez une application de fonction utilisant un plan de consommation: il n'est pas nécessaire de toujours allumer car le système se charge de réveiller vos fonctions chaque fois qu'elles doivent s'exécuter. Il s'agit de l'approche recommandée pour la plupart des utilisateurs.
36
David Ebbo

Les fonctions Azure sont gérées ensemble par Azure App Service, qui se limite toujours aux modes de base ou supérieurs (pas gratuits ou partagés)

En mode de base ou standard, vous pouvez activer Always On pour garder l'application chargée tout le temps.

4
logan rakai