Comment commencer à Quartz ASP.NET Core?

J'ai la classe suivante

 public class MyEmailService
 {
    public async Task<bool> SendAdminEmails()
    {
        ...
    }
    public async Task<bool> SendUserEmails()
    {
        ...
    }

 }
 public interface IMyEmailService
 {
    Task<bool> SendAdminEmails();
    Task<bool> SendUserEmails();
 }

J'ai installé la dernière Quartz 2.4.1 package Nuget parce que je voulais un léger planificateur dans mon application web sans base de données SQL Server.

J'ai besoin de planifier les méthodes

  • SendUserEmails pour exécuter chaque semaine, les lundis de 17:00,le mardi de 17:00 & le mercredi de 17:00
  • SendAdminEmails pour exécuter chaque semaine, le jeudi 09:00, le vendredi de 9:00

Quel code dois-je planifier ces méthodes à l'aide de Quartz dans ASP.NET Core? J'ai aussi besoin de savoir comment commencer à Quartz ASP.NET de Base que tous les exemples de code sur internet, reportez-vous aux versions précédentes de ASP.NET.

Je peux trouver un exemple de code pour la version précédente de ASP.NET mais je ne sais pas comment commencer à Quartz ASP.NET de Base pour démarrer le test.
Où dois-je mettre la JobScheduler.Start(); dans ASP.NET Core?

Pourquoi êtes-vous encore de la planification sur l'exécution périodique de tâches de fond dans un ASP.NET application? Saviez-vous que c'est un mal? Voir ici: haacked.com/archive/2011/10/16/... Et ensuite envisager de déplacer cette logique à l'extérieur de votre ASP.NET application. Par exemple, vous pouvez utiliser une application console qui est planifiée pour s'exécuter à intervalles désirés par les OS du planificateur. Ou, alternativement, d'écrire comme un service qui va s'exécuter et d'utiliser le Quartz de planifier les tâches à l'intérieur.
Qu'avez-vous essayé jusqu'à présent?
Je n'ai trouvé aucun exemple de code sur internet ASP.NET de Base qui explique l'équivalent de JobScheduler.Start(); dans mikesdotnetting.com/article/254/... La programmation, je devrais être en mesure de résoudre, mais le départ de Quartz est un mystère ASP.NET de Base. Google ne trouve rien
voir github.com/quartznet/quartznet/issues/355
Peut-être une fin de commentaire, mais je vois que vous utilisez la version 2.4.1 du package NuGet. Il ne cible pas .NET de Base, à mon humble avis. Vous devriez être à la recherche à la version 3 (quartz-scheduler.net/2016/08/16/...), il y a alpha paquets disponibles (nuget.org/packages/Quartz/3.0.0-alpha2). Aussi, le guide de migration (quartz-scheduler.net/documentation/quartz-3.x/...) et la version 3.x tutoriel (quartz-scheduler.net/documentation/quartz-3.x/tutorial/...) peut apporter quelque lumière.

OriginalL'auteur dev2go | 2017-01-24