En utilisant Quartz.NET, je suis en train de créer un déclencheur qui:Quartz.net - Répéter le jour n, tous les m mois?
- commence Septembre 30,
- se répète sur le dernier jour
- de tous les 5 mois.
- pouvoir utiliser
ITrigger.GetFireTimeAfter()
pour calculer/projet la prochaine fois de feu (retour UI)
attendu:
- 2017-9-30
- 2018-2-28
- 2018-7-31
- 2018-12-31
Je pensais que je pouvais utiliser un CronTrigger
(c.-à-0 0 0 L 9/5 ? *
)
Mais les jours sont prévus:
- 2017-9-30
- 2018-9-30
- 2019-9-30
Impossible d'utiliser CalendarIntervalTrigger
soit:
Par exemple, si vous choisissez une heure de début qui a lieu le 31 janvier et que vous avez un déclencheur avec l'unité Mois et intervalle 1, l'heure de déclenchement suivante sera le 28 février et la prochaine fois après le 28 mars. essentiellement, chaque tir subséquent aura lieu le 28 du mois, même s'il existe un 31e jour. Si vous voulez un déclencheur qui déclenche toujours le dernier jour du mois - quel que soit le nombre de jours dans le mois, vous devez utiliser ICronTrigger
Comment puis-je planifier un déclencheur comme celui-ci? Dois-je implémenter mon propre trigger et IScheduler à partir de zéro? Ou y a-t-il un moyen pour moi d'injecter dans un calcul personnalisé?
Merci
Ce n'est pas quelque chose que j'ai essayé, mais il pourrait être possible d'utiliser le Cron Expression 0 0 0 L */5? * avec ModifiedByCalendar et un couple de CronCalenders pour exclure les mois 7,8,10,11,12 en 2017 et 1,3,4,5,6,8,9,10,11 en 2018 etc. – sgmoore