Question

Je suis sur le point de créer une petite application qui sera responsable de l'envoi de différents rapports à différents utilisateurs à différents intevals. Nous pourrions parler de 50 ou 100 rapports différents allant à des personnes différentes. Certains rapports doivent être générés chaque jour, une fois par semaine, et un peu chaque mois.

Je me sers de la bibliothèque Quartz précédemment pour exécuter des tâches à intervalles réguliers. Toutefois, afin de garder les choses simples comme je l'idée d'avoir un seul en prenant soin de fil à quartz de tous les rapports. C'est, le fil doit passer en boucle à travers tous les rapports, disons toutes les 15 minutes, et de déterminer wether il est temps pour un ou plusieurs à être généré et envoyé. Peu importe si un rapport est généré à 12h00 ou 12h15.

Je pense à wether il serait possible, en quelque sorte, pour chaque rapport de mettre en place des temps de spécifiques tels que "mon @ 12: 00, wed @ 12: 00" ou "fri @ 09: 30". Ensuite, sur cette base, le fil serait de déterminer s'il était temps d'envoyer un rapport ou non.

Ma question est; quelqu'un a fait autre chose comme ça et ne les bibliothèques existent qui peut le rendre facile à mettre en œuvre cette tâche?

Était-ce utile?

La solution

pourquoi ne pas simplement enregistrer une instance de tâche de quartz pour chaque rapport et laisser Quartz gérer toute la planification pour vous? C'est après tout le point derrière.

Autres conseils

vous pouvez créer tout seul fil et il serait ping une « structure de données de planification du travail » à un certain intervalle de temps pour voir si elle a besoin d'exécuter un rapport. Si oui, il courraient le rapport, sinon, il irait pour une courte sieste et ping à nouveau après le temps de sommeil spécifié.

Il causera problème si un travail prend trop de temps pour terminer et vous commencez à accumuler des emplois.

La structure de données de planification du travail garderait son record triée par horodatage.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top