2010-03-23 20 views
0

J'ai un bloc de construction qui met en place un travail de Quartz pour envoyer des courriels tous les matins. Le travail est effectué trois fois par jour au lieu d'une fois. Nous avons une instance hébergée de Blackboard, qui, me dit-on, fonctionne sur trois serveurs virtuels. Je devine que c'est ce qui cause le problème, car le bloc de construction fonctionnait auparavant très bien sur une installation de serveur unique.Le travail au quartz se déclenche plusieurs fois

Est-ce que quelqu'un a une expérience du Quartz, ou pourrait suggérer comment on pourrait empêcher le travail de tirer plusieurs fois?

Merci,

Répondre

0

Je suppose que je suis un peu en retard pour répondre à cette question, mais nous avons un scénario similaire avec notre application. Nous avons 4 serveurs qui exécutent des tâches, dont certaines peuvent être exécutées simultanément sur plusieurs serveurs, et certaines ne doivent être exécutées qu'une seule fois. Comme la réponse de Will l'a dit, vous pouvez regarder dans les fonctionnalités de clustering de Quartz. Notre approche était un peu différente, car nous avions une solution locale en place avant de passer au Quartz. Nos travaux utilisent une table de base de données qui stocke les triggers cron et d'autres informations sur le travail, puis "verrouille" l'entrée pour un travail afin qu'aucun des autres serveurs ne puisse l'exécuter. Cela empêche les tâches de s'exécuter plusieurs fois sur les serveurs et a été assez efficace jusqu'à présent.

Espérons que ça aide.