IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

crontab - supprimer le cron dans bloc try except pour n'être informé qu'une seule fois


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Octobre 2019
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2019
    Messages : 20
    Par défaut crontab - supprimer le cron dans bloc try except pour n'être informé qu'une seule fois
    Bonjour ,

    J'ai développé une application qui tourne en infinie . et pour ne pas utiliser une boucle (while(True)) j'ai planifié l' exécution de l'application dans crontab ( elle s’excuse chaque 5 min). J'ai mis un bloc try except ( en cas de problème je reçois un mail) . Ma question : si il y a un problème dans le programme je vais recevoir chaque 5 min un mail alors que je veux être informé une seule fois , qu'est ce que je dois faire supprimer le cron dans le bloc try except ?? si oui comment ??
    Merci beaucoup

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Citation Envoyé par _junior_ Voir le message
    Ma question : si il y a un problème dans le programme je vais recevoir chaque 5 min un mail alors que je veux être informé une seule fois , qu'est ce que je dois faire supprimer le cron dans le bloc try except ?? si oui comment ??
    Ca dépend de la nature du problème... Par exemple, si c'est un problème réseau peut être qu'en ré-essayant plus tard çà ira mieux. Donc, il va falloir noter le nombre de fois que c'est partie en erreur avant d'abandonner (et expédier un mail).
    Ce qui suppose un fichier externe qui "note" le nombre d'essais consécutifs avant l'abandon et puisqu'on va toujours lire ce fichier là pour savoir où on en est plus besoin de toucher à la crontab.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Femme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Octobre 2019
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2019
    Messages : 20
    Par défaut
    Je vous remercie pour votre aide c'est utile. Vous avez totalement raison. l'application utilise des protocoles réseaux parfois l'erreur est juste temporaire. Je vais faire un fichier qui note le nombre de fois que le programme a rencontré un problème et à partir d'un certain seuil (par exemple 10 j'envois un mail ) c'est ça l'idée ?

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Citation Envoyé par _junior_ Voir le message
    Je vais faire un fichier qui note le nombre de fois que le programme a rencontré un problème et à partir d'un certain seuil (par exemple 10 j'envois un mail ) c'est ça l'idée ?
    voilà... Et quand vous récupérez 11, le programme ne fait rien en attendant d'avoir à recréer le fichier.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre averti
    Femme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Octobre 2019
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2019
    Messages : 20
    Par défaut
    Bonsoir,

    Merci encore une fois pour votre réponse... Mais je veux savoir comment je peux demander au programme de ne rien faire est ce que je fais un sleep(24h) par exemple ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    try 
        # bloc instruction 
    except :
        # lecture d'un paramètre X dans un fichier param.ini 
        if X<10 : 
             x=x+1
             # changer la valeur de X dans le fichier param.ini 
         else :
             # envoyer mail 
             X=0 
             # changer la valeur de X dans le fichier param.ini 
             sleep(24*60)
    est ce que sleep me permet de faire l'affaire sachant que le cron chaque 5 min ??

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Citation Envoyé par _junior_ Voir le message
    est ce que sleep me permet de faire l'affaire sachant que le cron chaque 5 min ??
    C'est une question à laquelle vous devriez pouvoir répondre par vous même en testant un peu avec cron ce qu'il se passe lorsqu'une tâche activée toutes les 5mns se termine (par exemple) une heure après.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par _junior_ Voir le message
    Mais je veux savoir comment je peux demander au programme de ne rien faire est ce que je fais un sleep(24h) par exemple ??
    Tandis que le cron se charge de la relancer à chaque fois toutes les 5mn ? Joli coup Callaghan. Ca va pas effondrer ta machine ça !!!

    Citation Envoyé par _junior_ Voir le message
    et pour ne pas utiliser une boucle (while(True)) j'ai planifié l' exécution de l'application dans crontab ( elle s’excuse chaque 5 min).
    Il faut un peu organiser ta pensée garçon. Soit tu veux un truc qui se lance à intervalles réguliers, soit tu veux un truc qui tourne en boucle infinie. Mais si tu programmes les deux à la fois...
    Et sinon je la comprends ton appli. Elle a bien raison de s'excuser d'être comme elle est. Sauf que c'est pas sa faute la pauvre...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  8. #8
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par _junior_ Voir le message
    Je vais faire un fichier qui note le nombre de fois que le programme a rencontré un problème et à partir d'un certain seuil (par exemple 10 j'envois un mail )
    Attention aux risques de collision (Unix/Linux étant multi-users, on est en théorie en droit d'exécuter le même programme plusieurs fois en parallèle). Même si dans ce cas précis ça n'arrivera pas (programme dédié root ou cron), c'est un réflexe à avoir en permanence à l'esprit. La commande Linux "lockfile" (ou divers équivalents Python comme zc.lockfile ou fasteners) peuvent être d'une grande aide pour ça...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Visibilité de mon tableau dans bloc try catch
    Par erox44 dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 18/05/2010, 15h13
  2. Ajouter / supprimer un cron dans PLESK avec PHP
    Par Dark Cid dans le forum Serveurs (Apache, IIS,...)
    Réponses: 2
    Dernier message: 31/10/2008, 14h03
  3. Bloc try Except
    Par zemeilleurofgreg dans le forum Bases de données
    Réponses: 16
    Dernier message: 04/07/2008, 14h29
  4. Porté de variable dans un try except
    Par japey dans le forum Général Python
    Réponses: 4
    Dernier message: 23/05/2007, 12h55
  5. bloc try/except et API windows
    Par jakouz dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 24/02/2005, 12h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo