2010-10-20 3 views
4

Un couple de questions pour les vrais gourous Quartz!Quartz.net: évitez les grosses bases de données, arrêtez les futurs déclencheurs, videz les tâches programmées

Je suis un débutant Quartz.net et espérant quelques conseils avant que je sois brûlé:

1) Je planifier un tas d'emplois/déclencheurs pour se déclencher à des moments précis dans l'avenir. Une fois ces tâches terminées, je n'ai plus besoin d'utiliser les informations de travail/de déclenchement dans la base de données. Y at-il quelque chose que je dois faire pour éviter une énorme accumulation de base de données des événements Quartz, ou prennent-ils soin d'eux-mêmes et automatiquement supprimé?

2) Diverses tâches de la mienne se répètent périodiquement. Mais parfois, comme je suis en train d'exécuter le travail, je me rends compte que je ne veux plus continuer à faire des événements périodiques avant l'heure d'expiration du travail. Comment arrêter tous les déclencheurs futurs dans un travail en cours d'exécution?

3) Y at-il un moyen de vider toutes les tâches planifiées. Parfois comme "scheduler.DumpAll() ;-)"?

Merci d'avance!

Répondre

1

Peut-être que je suis en retard ;-) mais je viens de commencer à utiliser Quartz.net récemment. Les dit Documentations:

Durable - if a job is non-durable, it is automatically deleted from the 
scheduler once there are no longer any active triggers associated with it. 

afin que vous puissiez définir durable = false pour les détails de votre travail et il devrait être supprimé à son expiration.

+0

Ceci est correct, dans des circonstances normales, lorsqu'un déclencheur n'a plus de temps de déclenchement, il est supprimé, et lorsqu'un travail n'a plus de déclencheurs, il est supprimé. – jhouse

4
  1. Voir la réponse de LeftyX (et mon commentaire suivi): dans des circonstances normales, lorsqu'un déclencheur n'a plus de temps de feu, il est supprimé, et quand un emploi n'a pas plus déclencheurs, il est supprimé

  2. Vous pouvez utiliser scheduler.unschduleJob(), scheduler.deleteJob(), scheduler.pauseJob(), scheduler.pauseTrigger() - en fonction du comportement spécifique souhaité.

  3. Non.

Questions connexes