Suggestion de déclencheur qui envoie un courrier électronique si le seuil est dépassé

C'est une question assez large mais mal essayer et résumer du mieux que je peux.

J'ai un frontal MVC qui affiche/permet le traitement des enregistrements qui sont classés comme exceptionnels. J'ai également une application de console programmée qui s'exécute tous les soirs et tente de résoudre chacun de ces dossiers en utilisant une logique que j'ai écrite.

J'ai une nouvelle exigence, qui est d'avoir un e-mail envoyé chaque fois que le nombre total d'enregistrements en attente dépasse un certain montant, ce montant doit être configurable.

La table contiendra chaque enregistrement avec un drapeau pour dire si elles ont été résolues ou non, ainsi je devrai compter l'en-tête alors déclencherai un email pour notifier si le seuil est cassé.

J'ai d'abord pensé à ajouter un déclencheur SQL Server à l'insertion, mais je me suis vite rendu compte que si aucun enregistrement supplémentaire n'était ajouté pendant quelques jours mais que le nombre total restait au-dessus du seuil parce que personne ne les résolvait, aucun autre courrier ne serait envoyé.

J'ai besoin de l'email pour envoyer tous les jours sur un calendrier indépendamment de l'insertion/mise à jour. Donc maintenant je pense à un travail SQL Server, ou un paquet SSIS ou même un service qui s'exécute, mais je suis conscient que ce nombre de seuil doit être configurable.

Alors, quelle serait la solution la plus simple et la plus simple à mes exigences, je suis ouvert à toute suggestion tant qu'elle ne se limite pas à toutes les cases.

0

2 Réponses

Étant donné que l'OP dispose déjà d'une application de console fonctionnant selon un calendrier, le choix le plus logique consisterait simplement à ajouter cette vérification à l'application de console avec la logique d'envoi de courrier électronique. Il sera beaucoup plus facile d'envoyer des emails de cette façon, surtout si vous utilisez quelque chose comme Postal, qui vous permettra d'utiliser des vues de type MVC pour créer vos emails.

0
ajouté

Un travail planifié SQL Server me semble être le moyen le plus simple. vous pouvez ajouter une table à votre base de données qui contiendra le nombre seuil et lire sa valeur à partir de là.
Dans de nombreux cas, une table GeneralParams est une bonne chose à avoir de toute façon.

L'autre option que vous avez mentionnée (service Windows) est également configurable de plusieurs façons: vous pouvez utiliser une table GeneralParams ou le fichier App.Config du service (mais vous devrez le redémarrer chaque fois que vous modifiez app.config), ou même un simple fichier texte. tout va. l'inconvénient est qu'il est en dehors de votre serveur SQL, mais l'avantage est qu'il est probablement plus facile d'envoyer des emails à partir de.

0
ajouté
Je suis d'accord. J'aurais dû y penser moi-même.
ajouté l'auteur Zohar Peled, source