2 votes

Plusieurs rappels par courrier à des heures différentes grâce à l'API quartz

J'utilise le planificateur Quartz pour un travail cron d'envoi de mails aux utilisateurs. J'ai un ensemble d'utilisateurs pour lesquels je veux envoyer les mails à la première heure (disons 9 heures du matin). J'ai un autre groupe d'utilisateurs pour lequel je veux envoyer les mails à une autre heure (disons 10 heures du matin). J'ai un troisième groupe d'utilisateurs pour lesquels je veux envoyer les messages à une troisième heure (disons 11 heures du matin).

En d'autres termes, j'ai la même tâche d'envoi de courriers électroniques, mais avec des utilisateurs différents et déclenchés à des moments différents.

Quelqu'un peut-il m'aider ?

Remerciements

1voto

jhouse Points 1899

Codez votre travail pour qu'il recherche l'ensemble des utilisateurs dans le JobDataMap fusionné (celui qui se trouve dans le JobExecutionContext).

Définissez une instance de votre travail, mais stockez-la avec trois déclencheurs (un pour 9:00, un pour 10:00 et un pour 11:00). Dans le JobDataMap de chacun des déclencheurs, stockez l'identifiant de la liste des noms auxquels envoyer les courriels. Lorsque chaque déclencheur se déclenche, les valeurs de son JobDataMap se retrouvent dans le JobDataMap fusionné, et le travail sait à quel groupe d'utilisateurs envoyer un courrier électronique.

Si les ensembles d'utilisateurs sont très importants (disons plus de quelques dizaines de noms), je recommanderais de ne mettre qu'un identifiant de l'ensemble (que le travail peut utiliser pour récupérer l'ensemble ailleurs) dans le JobDataMap, plutôt que l'ensemble lui-même.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X