Question

J'implémente actuellement Quartz.net dans une application simple qui devrait exécuter un morceau de code chaque (par exemple) 5 secondes. Ce n'est que maintenant que le code prend parfois plus de 5 secondes pour terminer.

Au début, j'avais le problème que le code a été exécuté alors que le même code était toujours en cours d'exécution, j'ai corrigé cela en utilisant l'interface IstatefulJob au lieu de l'interface IJOB.

Mais ce que j'aimerais vraiment accomplir, c'est que mon travail est exécuté 5 secondes une fois le travail terminé, pas 5 secondes après le début de mon travail précédent.

Je pourrais bien sûr gérer l'événement qui est déclenché lorsque mon auditeur «entend» que le travail est prêt et redéfinit le travail, mais je me demandais s'il n'y a pas de fonctionnalité standard pour cela.

Était-ce utile?

La solution

Actuellement, il n'y a pas de moyen standard d'y parvenir car Quartz.net joue sur l'idée d'avoir un temps de tir prédéfini (calculé au préalable) et un sondage pour le bon moment pour déclencher le travail.

La façon dont vous avez décrit serait le chemin le plus simple. Soit le calendrier du travail la prochaine exécution ou de l'auditeur.

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