2016-11-30 1 views
0

Nous avons un WebJob continu déployé sur 9 instances fonctionnant sous un service App Environnement: Si nous naviguons vers "D: \ home \ data \ jobs \ continue {webjobname}" sur le site Kudu, nous pouvons voir 9 fichiers avec le nom "status_ {hash}". nom représente les 6 premiers caractères des noms d'instance que nous pouvons voir dans l'explorateur de ressources pour cette WebAppQuel est le but des fichiers "status_ {hash}" dans D: home data jobs continuous {webjobname} "d'Azure WebJobs?

Fait intéressant, certains de ces fichiers contiennent:.

{"Status":"Running"} 

tandis que d'autres contiennent

{"Status":"Stopped"} 

je pourrais supposer que cela signifie que le WebJob est en cours d'exécution sur certains cas (par exemple sur 5 instances) et arrêté dans d'autres (par exemple sur 4). Mais est-ce attendu? (Notre WebApp est AlwaysOn et le WebJob est pas ensemble être singleton)

Cependant, lors de l'examen "job_log.txt", nous pouvons voir l'activité actuelle liée à cette instance. Et le fichier "status_ {hash}" ModifiedOn est antérieur au journal d'activité du fichier "job_log.txt".

[11/30/2016 03:39:20 > {hash}: INFO] Executed: 'Functions.{name}' (Succeeded) 

Est-ce que quelqu'un sait le but de ces fichiers et comment nous devrions les interpréter?

[UPDATE]

Un extrait de "job_log.txt":

[11/29/2016 19:28:59 > d6e0f6: SYS INFO] Status changed to Stopped 
[11/29/2016 19:29:28 > d6e0f6: INFO] Found the following functions: 
[11/29/2016 19:29:28 > d6e0f6: INFO] Func1 
[11/29/2016 19:29:28 > d6e0f6: INFO] Func2 
[11/29/2016 19:29:28 > d6e0f6: INFO] Func3 
[11/29/2016 19:29:51 > d6e0f6: INFO] Job host started 
[11/29/2016 23:11:47 > d6e0f6: INFO] Executing: 'Functions.{name}' - Reason: 'New ServiceBus message detected on 'Tiers/Subscriptions/{name}'.' 

Le WebApp est à AEDT TimeZone, donc,

11/29/2016 19:28:59 UTC = 11/30/2016 06:28:59 AEDT 
11/29/2016 23:11:47 UTC = 11/30/2016 10:11:47 AEDT 

Et ici les détails de le fichier status_ {hash correspondant fichier

File   Modified 
status_d6e0f6 11/30/2016, 6:29:00 AM 

Contenu:

{"Status":"Stopped"} 

Ainsi, nous pouvons voir comment le status_ fichier {hachage} a été mis à jour lorsque le WebJob a été arrêté, mais il n'a pas été mis à jour lorsque le WebJob redémarré.

+0

Ces fichiers gardent une trace de l'état de WebJob dans chaque instance, comme vous l'avez deviné. Mais ce n'est pas normal que certains soient arrêtés. Sur une instance où il est arrêté, pouvez-vous vérifier si le processus WebJob n'est pas en cours d'exécution? –

+0

Merci pour votre réponse David. Comme mentionné dans ma question d'origine, le fichier _ "job_log.txt" _ contient une activité pour ces instances WebJob. Et les horodateurs pour ces enregistrements d'activité sont postérieurs à ModifiedOn du fichier "status_ {hash}" correspondant. Y a-t-il un autre moyen que je devrais suivre pour vérifier l'activité de ces instances? –

+0

Utiliser l'explorateur de processus pour voir s'il fonctionne –

Répondre

0

Juste au cas où quelqu'un d'autre a la même question ou confrontés à des problèmes similaires:

Le « status_ {hachage} » fichiers dans D: \ home \ data emplois \ \ continue {webjobname} » sont destinés Pour conserver l'état du WebJob continu sur cette instance particulière, il est toutefois probable que, dans certains cas, ce statut ne soit pas toujours exact

Si vous souhaitez vérifier l'état d'un WebJob continu s'exécutant sur plusieurs instances , la meilleure façon de le faire serait d'utiliser Azure Portal Process Explorer et de vérifier si le processus WebJob sous cette instance est en cours d'exécution.

Si vous êtes assez malchanceux (comme moi) et que votre Processeur de Processus Portal ne répond pas, vous pouvez utiliser l'Explorateur de Processus Kudu et vérifier cette instance particulière en vous connectant à celle-ci.

This post résume comment obtenir les ID d'instance et comment se connecter à l'instance de site Kudu correspondante. Cependant, il existe de nouvelles façons plus simples de le faire.

Pour obtenir les ID d'instance, vous pouvez les obtenir à partir de l'Explorateur de ressources, par ex.

https://resources.azure.com/subscriptions/ {subscription_id}/resourceGroups/{} rg_name /providers/Microsoft.Web/sites/ {app_service_name}/instances

Et puis, vous devez modifier le cookie correspondant ARRAffinity sur votre navigateur avant de naviguer sur Kudu et se rendre à son explorateur de processus. Vous pouvez vérifier que vous vous connectez à l'instance correcte en cochant la variable d'environnement "WEBSITE_INSTANCE_ID" affichée sur le site Kudu.

HTH