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

Développement de jobs Discussion :

Code retour talend


Sujet :

Développement de jobs

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 159
    Points : 78
    Points
    78
    Par défaut Code retour talend
    Bonjour,
    Est ce qu'il y'a un moyen pour gérer le code retour d'un job???????Je voudrais avoir dans les logs :Le code retour 0 si Le job s'est bien passé,
    Le code retour 5 si Le job s'est passé mais avec warning,
    et Le code retour 10 si Le job s'est mal terminé.
    Merci d'avance

  2. #2
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2013
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 142
    Points : 295
    Points
    295
    Par défaut tLogCatcher
    Bonjour,

    Tu peux utiliser un tLogCatcher (cocher les éléments à attraper comme le die,warn,exceptions)

    Utilise-le avec un tMap pour rediriger la sortie du code retour vers la console ou un fichier.
    Images attachées Images attachées   

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Bonjour,

    Pour gérer le code retour, tu as le composant tDie a utiliser a la fin de la séquence de composant dans ton job.
    Tu renseignes le paramètre code erreur ( 4 par défaut ) a 5 pour ton warning ou 10 pour une ereur.
    Ce composant génère une exception.

    Une autre solution, est d'utiliser un tjava et du code java :

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 159
    Points : 78
    Points
    78
    Par défaut
    Bo njour,
    Merci pour vos réponses. Mon job finit par insérer les données dans un toracleoutput. Le probléme c'est quand je veux le lier à un tDie, talend me propose un 'On Component OK'et 'On Component Error' mais pas 'On sobjob Error'. Et quand j'essaie avec 'On Component Error' il n'y a rien dans la table tlogcatcher

  5. #5
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Bonjour,

    1) les liens OnSujobOK et OnSubjobError partent du premier composant du subjob ( rectangle bleu )

    2) Pour détecter les Erreurs sur le tOracleOutput, il faut cocher "die on erreur" pour générer une exception qui sera catcher par le composant tlogCatcher ( a moins que tu es activé les logs au niveau du projet ou du job lui meme)
    Cette exception déclenche les liens Error pour activer ensuite ton tDie.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 159
    Points : 78
    Points
    78
    Par défaut ABLE
    J'ai toujours le message qui s'affiche dans la fenêtre "Exécution":
    Exception in component tOracleOutput_1
    java.sql.BatchUpdateException: ORA-01400: impossible d'insérer NULL dans ("SCHEMA"."TABLE"."CHAMP")

    at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:674)
    at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:9394)

    ..............
    Mais je n'ai rien dans la table de tlogcatcher

  7. #7
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Bonjour,

    Peux tu poster une capture d'écran de ton job et de l'onglet job/ Stats & logs

    Le message d'exception sortira toujours dans la sortie d'erreur du job en rouge dans la console du studio. Cependant, si tu as bien configuré ton job, en utilisant un composant tLogCatcher ou directement dans l'onglet Stats & Logs alors tu devrais également récupérer cette erreur dans ta table

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 159
    Points : 78
    Points
    78
    Par défaut
    Bonjour,
    Merci pour ton aide
    Fichiers attachés Fichiers attachés

  9. #9
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Bonjour,

    Il faut commencer par mettre au point la partie tLogCatcher -> tMap -> tPostgresqlOutput.

    Ton composant tPostgresqlOutput ne fonctionne pas !

    Donc tu poses un tWarn et du désactive ton job. Debug et fais fonctionner le composant tPostgressqlOutput avant de poursuivre.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 159
    Points : 78
    Points
    78
    Par défaut
    Tu as raison . Donc j'ai fait ce que tu m'as écris et ça marche j'ai la table avec le code retour qui va avec mais j'ai toujours le message d'exception dans l'onglet Exécuter voir PJ . Est ce que c'est normal?????????
    et si j'ai plusieurs jobs dans mon projet je dois inclure les composants tDie, tlogCatcher dans chaque job???????
    Merci
    Fichiers attachés Fichiers attachés
    • Type de fichier : doc job.doc (48,5 Ko, 100 affichages)

  11. #11
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Oui, il y aura toujours l'exception dans la console.

    Si dans ton tMap tu ne fais que du mapping 1-1 alors tu peux utiliser la gestion des logs au niveau du projet :
    Tu vas dans le menu fichier/Editer les propriétés du projet puis dans Paramètre du job/Stats & Logs et tu peux cocher la case utiliser les logs et configurer la base Postgresql

    Sinon tu dois effectivement copier les composants tLogCatcher dans chaque job

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 159
    Points : 78
    Points
    78
    Par défaut
    Une derniére question: Comment faire si je veux gérer les autres codes retour pour mon job ie code retour 0 si le job se passe bien, code retour 5 pour un warning : J'ai essayé le twarn et j'ai mis le code à 5 je l'ai lié à mon job avec un OnSubjobOK mais j'ai toujours le code 5 même si le job se passe bien. Je ne sais pas comment faire pour avoir 0 si ça se termine bien et 5 au cas d'un warning.
    ( Le cas de code 10 marche bien maintenant merci pour ton aide)

  13. #13
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Bonjour,

    Pour le code 0 en cas de succès, il n'y a rien a faire car le programme java retourne 0 par defaut.

    Pour tes warning , tu utilises toujours le tDie avec le code 5 que tu actives avec un lien Run-if. Sur le lien Run if tu as la condition qui détermine un warning ou non

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 159
    Points : 78
    Points
    78
    Par défaut
    Donc si j'ai bien compris je n'utilises pas le twarn mais un tdie avec le code 5 pour un warning et un autre tdie avec le code 10 en cas d'erreur.

    Je te remercie pour ton aide

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

Discussions similaires

  1. Personnaliser code retour Talend
    Par Kitty11 dans le forum Développement de jobs
    Réponses: 7
    Dernier message: 29/11/2013, 11h47
  2. Récupérer le code retour d'un batch
    Par mick84m dans le forum Linux
    Réponses: 4
    Dernier message: 11/05/2005, 17h09
  3. CODE RETOUR GENERE PAR PL/SQL POUR SHELL UNIX
    Par mimi_été dans le forum PL/SQL
    Réponses: 6
    Dernier message: 18/11/2004, 08h32
  4. code retour UNIX sur erreur ORA
    Par vinz_07 dans le forum Administration
    Réponses: 7
    Dernier message: 25/08/2004, 11h04
  5. [commande DOS] Récupérer le code retour d'un programme
    Par bobunny dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 04/06/2004, 15h51

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