Projet

Général

Profil

Actions

Anomalie #168

fermé

Eviter l'exécution concurrente de tâche

Ajouté par Grégory MARIGOT - TEICEE il y a plus de 6 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normal
Version cible:
Début:
05/07/2018
Echéance:
% réalisé:

100%

Temps estimé:
Version ProxyEPN:
2.4

Description

Les tâches exécutables en CLI, prévues pour être progammées périodiquement en tâche CRON, ne disposent pas de contrôle pour éviter des exécutions concurrentes.

Cela peut poser des soucis sur des tâches programmées sur des intervalles très court. Par exemple la remontée de données de connexion par proxyepn:session-live peut être lancé toutes les minutes. Mais si jamais un traitement prend plus d'une minute, une nouvelle exécution peut avoir lieu alors que la précédente n'est pas terminée. Cela peut aboutir à des doublons de traitement.

Mis à jour par Grégory MARIGOT - TEICEE il y a plus de 5 ans

  • Statut changé de Nouveau à Résolu
  • % réalisé changé de 0 à 100

Un fichier d'exemples pour la configuration des tâches cron est fourni dans `doc/proxyepn.cron`.

Il y est suggéré d'effectuer un test sur les processus en cours d'exécution avant de lancer la tâche 'session-live' :

* * * * *        root        ps ax | grep -v grep | grep -q '/your/install/path/proxyepn/symfony proxyepn:session-live' || "/your/install/path/proxyepn/symfony" proxyepn:session-live

Une solution alternative aurait été de gérer des fichiers de locks directement par les scripts symfony. Mais cette méthode est moins souple (test imposé au lieu de laisser la décision dans la définition du cron) et peut être problématique si le script s'interrompt avant d'avoir lever son lock.

Mis à jour par Grégory MARIGOT - TEICEE il y a plus de 5 ans

  • Version cible mis à ProxyEPN 2.6

Mis à jour par Grégory MARIGOT - TEICEE il y a plus de 3 ans

  • Statut changé de Résolu à Fermé
Actions

Formats disponibles : Atom PDF