• [^] # Re: changer la maniere de faire

    Posté par . En réponse au message J'ai une colle pour les experts shell ou système.. Évalué à 1.

    Maintenant sur cette solution, elle me convient très bien et elle m'évite justement de gérer la création et la suppression de fichiers lock qui à mon sens est bien plus lourde mais peut-être pour toi plus déterministe => J'en conviens mais question de point de vue ;-)

    Il n'y a pas de création de "fichiers lock" ;)

    On verrouille tout simplement le fichier que tu veux transférer pour qu'il ne soit pas disponible pour une autre instance du script.

    Note également que le verrou se déverrouille tout seul à la fin du sous shell.

    Si tu veux traiter un fichier depuis ta console : worker filename

    Depuis ton incrontab : dirname IN_CLOSE_WRITE worker $@/$#

    Version "balai" : find dirname -print0 | xargs worker

    Tu peux lancer tout ça en même temps sur le même répertoire, les fichiers ne seront traités qu'une fois. Et ça même si ton traitement évolue en terme de durée, ou si le système est fortement ralenti pour une raison ou une autre.

    Et tout ça avec une dizaine de lignes en plus que ton traitement, pas de calculs bizarres ou d'estimation non déterministe. J'ai l'impression que tu préfères la tienne parce que tu n'es pas à l'aise avec les verrous. Fais des tests, tu verras c'est pas spécialement difficile à utiliser.