1 votes

Tâche planifiée ColdFusion 2016 s'exécutant deux fois

Nous avons une instance CF2016 qui exécute toutes nos tâches planifiées. Cette tâche en particulier s'exécute tous les jours à 4h45. Du lundi au samedi, la tâche s'exécute rapidement, mais l'exécution du dimanche prend un certain temps (ceci est attendu), en moyenne environ 60 minutes.

Le problème est qu'en dimanche, la tâche est déclenchée deux fois. Une fois à 4h45 comme d'habitude, et la seconde est déclenchée exactement 9 minutes et 28 secondes plus tard alors que la première demande n'a pas été achevée et est toujours en cours d'exécution. Cela cause des problèmes de données pour nous lorsqu'elles sont exécutées simultanément. Les deux demandes se terminent finalement.

Ce que j'ai vérifié :

  • Il n'y a pas d'autre tâche planifiée qui appelle la même URL ou qui fait référence à cette tâche.
  • La tâche a un délai d'attente de 3 heures via cfsetting, qu'elle n'atteint pas. Nous avons d'autres tâches qui durent plus longtemps et qui n'ont pas le même problème.
  • J'ai vérifié que le paramètre Retry Count dans les paramètres CFAdmin de la tâche planifiée est réglé sur 0.
  • Dans les journaux CFAdmin, je vois un journal indiquant Starting HTTP request pour la première demande, mais pas pour la deuxième demande. Je sais que la deuxième tâche est déclenchée d'une manière ou d'une autre car nous avons un journal dans onRequestStart qui enregistre CGI.SCRIPT_NAME, et cela est enregistré pour les deux demandes.
  • Toutes les tâches sont appelées via une adresse IP de réseau interne, en http (pas en https).

L'environnement est Windows 2008 R2 Enterprise, CF2016 Enterprise.

Comment/pourquoi cela se produit-il ? Avez-vous des idées sur la manière de diagnostiquer pourquoi la 2ème demande est déclenchée ?

0voto

Rahul Upadhyay Points 1

Essayez d'utiliser le délai spécifié dans Paramètres du serveur > Ajouter/Modifier une tâche planifiée. spécifiez la valeur pour "Timeout (en secondes)"

0voto

Markofo Points 1

Pour les tâches planifiées qui ne doivent pas s'exécuter en parallèle, vous pouvez utiliser l'exclusif CFLOCK, qui permettra de l'exécuter une seule fois à la fois. Voir https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-tags/tags-j-l/cflock.html

En ce qui concerne le dépannage - que dit le scheduler.log, pouvez-vous voir s'il est exécuté deux fois là-bas? Les tâches planifiées ont je pense 3 tentatives de réessai en cas d'échec. La tâche de dimanche se termine-t-elle sans échec?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X