2017-08-21 1 views
0

Azure a apparemment un délai d'attente de 4 minutes pour les requêtes http avant de mettre fin à la connexion. Ceci est non configurable dans les services d'applications: https://social.msdn.microsoft.com/Forums/en-US/32b76114-67a4-4e6b-ac45-61b0f0a0829f/changing-the-4-minute-request-time-out-for-app-services?forum=AzureAPIAppsLe délai d'attente de requête HTTP d'Azure de 4 minutes s'applique-t-il aux téléchargements de fichiers multipart-formdata?

Je l'ai vu cette première main dans ma demande - j'ai un processus qui permet aux utilisateurs de visualiser des fichiers qui existent sur un lecteur réseau, sélectionnez un sous-ensemble de ces fichiers et télécharger ceux fichiers à un service tiers. Cela se produit via une demande de publication qui envoie la liste des noms de fichiers en utilisant le type de contenu json. Cette opération peut prendre un certain temps et je reçois une erreur de temporisation à presque exactement 4 minutes. J'ai également un autre processus qui permet aux utilisateurs de glisser et déposer directement des fichiers dans l'application Web, ces fichiers sont enregistrés sur le serveur en utilisant multipart/form-data de type contenu, et transmis au service tiers. Cette demande n'expire jamais, quelle que soit la durée du téléchargement.

Y a-t-il quelque chose à propos de l'utilisation de multipart/form-data qui remplace le délai d'attente de 4 minutes d'azures?

Cela n'a probablement pas d'importance, mais j'utilise Node.

Répondre

0

Le délai d'expiration est en fait de 3m 50s (230 secondes) et non de 4 minutes.

Mais notez que c'est un délai de connexion inactif, ce qui signifie qu'il ne se déclenche que s'il n'y a pas de données circulant dans la demande/réponse. Il est donc étrange que vous frappiez ceci si vous téléchargez activement des fichiers. Je suggère de surveiller le trafic réseau pour voir si quelque chose est envoyé. Si cela se passe réellement en 230 sans données téléchargées, il y a probablement un autre problème, et le délai d'attente n'est qu'un effet secondaire.

+0

Merci pour la réponse. Notez que je ne télécharge que des fichiers dans mon second scénario. Dans mon premier scénario, je publie simplement une liste de fichiers à télécharger - c'est la responsabilité des serveurs de communiquer avec le service tiers et de faire le téléchargement. Cependant, d'après ce que vous dites, il semblerait que mon deuxième scénario fonctionnerait, puisque le client et le serveur communiquent activement. – ManManWilly

+0

@ManManWilly ok, je comprends votre premier scénario maintenant, et cela va en effet provoquer un timeout. Vous devrez passer à une forme de modèle asynchrone pour résoudre ce problème. c'est-à-dire qu'une requête initiale commence le téléchargement et renvoie, et les demandes suivantes vérifient l'état jusqu'à ce qu'il soit terminé. –