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

Langage Delphi Discussion :

Service démarré mais qui ne fait rien


Sujet :

Langage Delphi

  1. #1
    Membre régulier Avatar de jodan33
    Homme Profil pro
    DEveloppeur interoperabilité
    Inscrit en
    Mars 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : DEveloppeur interoperabilité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 95
    Points : 71
    Points
    71
    Par défaut Service démarré mais qui ne fait rien
    Bonjour ,
    Voici un moment que je n'ai pas posté sur le forum.
    Bon j'expose mon problème, je fais du support pour une entreprise qui édite des applications dans le médical.
    En fait je détecte les problèmes dans le source, j'analyse où se situent les problèmes et quand j'ai trouvé où ça coince dans le source, je donne mon avis au développeur, et éventuellement lui indique une solution.
    La difficulté est d'intervenir sur du code que l'on n'a pas développe soi même, et du coup de ne plus coder, bref.
    Là j'ai un souci sur une appli qui utilise un service pour envoyer les données patients dans une autre application.
    Le service est démarré mais il ne se passe plus rien. On peut redémarrer le service et du coup les données passent, mais bon... Un petit moment après le service est de nouveau dans l'état : "je suis démarré mais je traite plus".

    Voila je ne sais pas si cela est clair mais en tout cas merci par avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 679
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 679
    Points : 13 085
    Points
    13 085
    Par défaut
    Citation Envoyé par jodan33 Voir le message
    La difficulté est d'intervenir sur du code que l'on n'a pas developpé soit meme
    Alors imagine-nous qui n'avons pas de code du tout sous les yeux

    Mais le problème pourrait venir de la boucle Execute qui attend indéfiniment un ordre qui ne vient pas. (un mutex global jamais signalé par exemple)

  3. #3
    Membre régulier Avatar de jodan33
    Homme Profil pro
    DEveloppeur interoperabilité
    Inscrit en
    Mars 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : DEveloppeur interoperabilité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 95
    Points : 71
    Points
    71
    Par défaut Oui
    Bonjour,

    Oui en effet je suis d'accord, mais je ne souhaite pas fournir du code pour l'instant sans avoir au moins un peu déblayé une piste...

  4. #4
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Citation Envoyé par jodan33 Voir le message
    Oui en effet je suis d'accord , mais je veux pas fournir du code pour l'instant sans avoir au moins un peux déblayer une piste..
    Si j'en crois le début de la discussion, le service fonctionne très partiellement (au redémarrage du service, puis s'arrête).
    Sans accès au code (je peux comprendre pour des raisons de confidentialités ), je suggère de placer des instructions de trace à différents endroits du programme (écriture d'informations dans un fichier texte avec les valeurs qui semblent pertinentes)...
    Le développeur doit bien avoir une unité avec ce genre de routines. Quelques options de compilation et elles peuvent même être intégrées ad vitam aeternam au source.
    Philippe.

  5. #5
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 679
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 679
    Points : 13 085
    Points
    13 085
    Par défaut
    Citation Envoyé par Ph. B. Voir le message
    Le développeur doit bien avoir une unité avec ce genre de routines. Quelques options de compilation et elles peuvent même être intégrées ad vitam aeternam au source.
    Ou simplement TService.LogMessage pour l'ajout au journal Windows

  6. #6
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Ou simplement TService.LogMessage pour l'ajout au journal Windows
    Je suis pour ainsi dire confus....
    J'ai déjà implémenté des services, mais cette fonction m'avait complètement échappé (et comme j'ai ma petite unité adéquate...) !
    Il faut quand même que les journaux soient paramétrés pour enregistrer les événements, ce me semble...
    En tous cas, merci pour ce rappel.
    Philippe.

  7. #7
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 679
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 679
    Points : 13 085
    Points
    13 085
    Par défaut
    Citation Envoyé par Ph. B. Voir le message
    Il faut quand même que les journaux soient paramétrés pour enregistrer les événements, ce me semble...
    Ça n'est pas obligatoire, mais si tu ne le fais pas le message commencera par :
    La description de l’ID d’événement 0 dans la source MonProg est introuvable. Le composant qui a déclenché cet événement n’est pas installé sur l’ordinateur local ou l’installation est endommagée. Vous pouvez installer ou réparer le composant sur l’ordinateur local.

    Si l’événement provient d’un autre ordinateur, les informations d’affichage doivent être enregistrées avec l’événement.

    Les informations suivantes étaient incluses avec l’événement*:

    Mon message
    Perso, je le fais pas ! Trop emmerdant. Créer des fichiers par langue, les compiler avec MessageCompiler (création MSGxxxxx.bin), les intégrer en ressources plus des entrées dans la base des registres... (MS pouvait pas faire plus simple ) Mon seul essai fonctionnait bien sous XP et 7 mais se soldait par une plantée sous 2003. J'ai vite aborté...

  8. #8
    Membre régulier Avatar de jodan33
    Homme Profil pro
    DEveloppeur interoperabilité
    Inscrit en
    Mars 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : DEveloppeur interoperabilité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 95
    Points : 71
    Points
    71
    Par défaut Merci
    Bonjour,
    Merci à Andnotor et Ph.B pour ces pistes .
    Je vais suggerer à mes collegues de mettre en place ces traces .
    Nous avons egalement commencé à verifier ce qui se passe au niveau d'Oracle , car l'appli concerné sert de passerelle entre deux bases de données.
    Nous utilisons cette requette:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT swn.SQL_TEXT
        FROM V$SQLTEXT_WITH_NEWLINES swn, v$session s
       WHERE swn.HASH_VALUE = S.SQL_HASH_VALUE
         and lower(S.PROGRAM)='hexa2optrait.exe'
    ORDER BY PIECE

    Le service utilise l'exe hexa2optrait.exe

    Quand le service est démarré mais "bloqué" on voit que la requete en cours vise une table vide.
    Je ne pense pas que cela ai une incidence j'aurai aimé avoir votre avis à ce sujet.

  9. #9
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Citation Envoyé par jodan33 Voir le message
    Bonjour,
    Merci à Andnotor et Ph.B pour ces pistes .
    Je vais suggerer à mes collegues de mettre en place ces traces .
    Nous avons egalement commencé à verifier ce qui se passe au niveau d'Oracle , car l'appli concerné sert de passerelle entre deux bases de données.
    Nous utilisons cette requette:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT swn.SQL_TEXT
        FROM V$SQLTEXT_WITH_NEWLINES swn, v$session s
       WHERE swn.HASH_VALUE = S.SQL_HASH_VALUE
         and lower(S.PROGRAM)='hexa2optrait.exe'
    ORDER BY PIECE

    Le service utilise l'exe hexa2optrait.exe

    Quand le service est démarré mais "bloqué" on voit que la requete en cours vise une table vide.
    Je ne pense pas que cela ai une incidence j'aurai aimé avoir votre avis à ce sujet.
    C'est une supposition au vu des quelques éléments fournis, mais il me semble que l'exécutable est un des moyens de remplir directement ou non la table (cf. clause WHERE), peut être même le seul dans votre configuration ; aussi, dès qu'il se bloque, la table n'est pas (ou plus) alimentée...
    Philippe.

  10. #10
    Membre régulier Avatar de jodan33
    Homme Profil pro
    DEveloppeur interoperabilité
    Inscrit en
    Mars 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : DEveloppeur interoperabilité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 95
    Points : 71
    Points
    71
    Par défaut Pbme non reproduit mais surement en latence
    Bonjour,

    Le probleme n'est pas réapparu depuis que j'ai redémarré le service.
    Cependant je sais qu'il existe et se manifestera de nouveaux.
    Pour la requette en fait elle permet juste de voir qu'elle sont les requettes uitilsées par l'interface pour envoyer les données d'une base à une autre .
    Et on a vu qu apparament c'est toujours la meme qui bloque .
    Nous allons travailler autour de cette requette surement la supprimé car ell est pratiquement inutile.
    c'est un simple : select * from tableperiodic;

    en tout cas nous avons une piste meme si ce n'est pas terminé , merci a vous tous.


Discussions similaires

  1. Réponses: 2
    Dernier message: 21/01/2011, 18h13
  2. Réponses: 10
    Dernier message: 16/11/2006, 21h36
  3. [PHP-JS] Méthode flush() qui ne fait rien
    Par Khrysby dans le forum Langage
    Réponses: 9
    Dernier message: 21/05/2006, 19h55
  4. [debutant]programme qui ne fait rien.
    Par Battosaiii dans le forum Interfaces Graphiques en Java
    Réponses: 10
    Dernier message: 04/12/2005, 22h19
  5. procédure stockée qui ne fait rien
    Par trotters213 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 10/03/2005, 20h25

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