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

API standards et tierces Java Discussion :

[SCHEDULER] Quartz et Database


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Par défaut [SCHEDULER] Quartz et Database
    Bonjour,

    Je travaille sur une appli qui est deployee sur de nombreuses machines en production. Je dois utiliser Quartz afin de fournir une tache, qui parcoure la databse et envoie des emails a nos utilisateurs. Cette tache doit etre executee chaque soir. Le probleme est que si je deploie ce nouveau code sur chacune des machines, alors j'enverrai autant de mail que j'ai de machines en production.

    Est-ce que quelqu'un a deja eu affaire a ce genre de problemes?

    Merci beaucoup.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 75
    Par défaut
    J'imagine que tu es "obligé" de :
    - deployer sur plusieurs machine ton appli
    - que tu ne peux dissocier la partie quartz de ton appli dans une autre appli ?

    Donc il faut que centralise le faite que le traitement ai été effectué ==> ajout d'une table des "déjà fait" et integration de cette table dans ton traitement. Mais personnelement je trouve cela très dommage, il serait mieux de pouvoir changer un des 2 points de ma précédente hypothèse.

    Louis

  3. #3
    Membre éprouvé
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Par défaut
    Oui malheureusement, je ne peux pas changer mes contraintes.
    Mais comment etre sur que mes differentes instances ne travaillent pas sur les memes donnees. La tache va etre planifiee pour etre executer a 24:00 tous les jours. Toutes les mahcines ayant rigoureusement la meme heure, j'ai peur que les travaux se chevauchent, et je ne sais pas comment mettre de verrou sur ma base.

  4. #4
    Membre éprouvé
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Par défaut
    L'ideal serait que l'execution de tes taches quartz ne soit fait que par une seul machine.

    Chacune de tes machine de prod ajouterais leur job. mais une seule lancerais l'exécution. As-tu une problématique de temps réelle? si oui Quartz n'est peut être pas adapter car si plusieurs job sont lancer simultanément et que tu n'a pas assez de thread simultanée une partie de tes jobs vont attendre qu'une thread se libère.

    Une autre solution pour possible pour ton problème de mail est de lancer un job supplémentaire à partir de minuit qui va vérifier régulièrement si toutes les jobs sont terminés si oui il en vois le mail et se reprogramme pour le lendemain sinon il se reprogramme pour dans 5 min par ex ou 1 heure çà dépend de la durée de tes jobs.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 75
    Par défaut
    Citation Envoyé par bourbaki2003
    Toutes les mahcines ayant rigoureusement la meme heure, j'ai peur que les travaux se chevauchent, et je ne sais pas comment mettre de verrou sur ma base.
    C'est meme certain ==> de mémoire avec oracle il existe une syntaxe :
    lock table ... mais si tu accede avec un select simple sur la table ayant le lock il est possible que cela ne marche pas (à vérifier)

    Mais cela reste très très m... comme solution. Le mieux de faire sauter le "verrou fonctionnelle"
    Tant que tu ne peux changer ton appli tu n'a pas de solution fiable.

  6. #6
    Membre éprouvé
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Par défaut
    Citation Envoyé par bourbaki2003
    Oui malheureusement, je ne peux pas changer mes contraintes.
    Mais comment etre sur que mes differentes instances ne travaillent pas sur les memes donnees. La tache va etre planifiee pour etre executer a 24:00 tous les jours. Toutes les mahcines ayant rigoureusement la meme heure, j'ai peur que les travaux se chevauchent, et je ne sais pas comment mettre de verrou sur ma base.
    Une tache quartz n'es pas identifié par son heure mais par son nom et son groupe si sur chaque machine tu as un nom de tache différent c bon.

  7. #7
    Membre éprouvé
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Par défaut
    Citation Envoyé par moritan
    Une tache quartz n'es pas identifié par son heure mais par son nom et son groupe si sur chaque machine tu as un nom de tache différent c bon.
    Oui mais le probleme c'est que bien qu'elles aient des noms differents, elles s'executeront en meme temps.

  8. #8
    Membre éprouvé
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Par défaut
    oups j'avais mal compris c'est de ton jeu de donnée que tu parlais et nom pas des job quartz.

    Si tu centralise l'exécution des job quartz, tu as la possibilité de réduire le nombre de jobs simultanée à 1 et comme ça les tâches ne s'enchaineront sans se perturber.

  9. #9
    Membre éprouvé
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Par défaut
    Citation Envoyé par moritan
    oups j'avais mal compris c'est de ton jeu de donnée que tu parlais et nom pas des job quartz.

    Si tu centralise l'exécution des job quartz, tu as la possibilité de réduire le nombre de jobs simultanée à 1 et comme ça les tâches ne s'enchaineront sans se perturber.
    C'est bien la le probleme, je ne peux pas les centraliser.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 75
    Par défaut
    Citation Envoyé par moritan
    Si tu centralise l'exécution des job quartz, tu as la possibilité de réduire le nombre de jobs simultanée à 1 et comme ça les tâches ne s'enchaineront sans se perturber.
    J'ai cru comprendre qu'il ne pouvait malheureusement modifier cela

    Pas assez rapide à poster ma réponse

Discussions similaires

  1. Utilisation du scheduler Quartz
    Par A.BenAmmar dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 06/11/2012, 20h25
  2. QUARTZ SCHEDULER JOB
    Par ALTHON dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 22/02/2010, 22h54
  3. [QUARTZ] Reprogrammer un scheduler
    Par Apo007 dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 04/11/2009, 16h59
  4. [Batch] scheduler quartz bean
    Par *alexandre* dans le forum Spring
    Réponses: 4
    Dernier message: 24/10/2006, 16h52
  5. Quartz: impossible d'instancier le scheduler!
    Par lOurs4816 dans le forum API standards et tierces
    Réponses: 28
    Dernier message: 20/04/2006, 17h11

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