Quartz.NET vs Tâches Planifiées de Windows. Comment les différents sont-ils?
Je suis à la recherche d'une comparaison entre Quartz.NET et les Tâches Planifiées de Windows?
Comment différents sont-ils? Quels sont les avantages et les inconvénients de chacun? Comment puis-je choisir lequel utiliser?
TIA,
Vous devez vous connecter pour publier un commentaire.
Avec Quartz.NET je pourrais revanche quelques-uns des premiers points:
C'est surtout une question à propos de ce dont vous avez besoin. Tâches Planifiées de Windows peut vous donner tout ce que vous devez. Mais si vous avez besoin de clustering (distribué des travailleurs), le contrôle fin sur le déclenchement ou les ratés de la manipulation des règles, vous pouvez vérifier ce que Quartz.NET a à offrir sur ces zones.
Prendre le plus simple qui remplit vos exigences, mais suffisamment abstrait pour permettre le changement.
Ma réaction instinctive serait d'essayer et obtenir de l'intégrale WinScheduler à travailler avec vos besoins avant d'installer encore un autre planificateur de raisonnement:
Alors atteindre pour le Quartz s'il ne répond pas à vos besoins. Quartz a certainement beaucoup de ces traits trop, mais empêcher d'ajouter encore un autre service de posséder et de gérer si vous le pouvez.
if (task.Exists) do nothing else (task.Create)
?Une distinction importante, pour moi, ce n'est pas incluse dans les autres réponses, c'est ce qui est exécuté par le planificateur.
Planificateur de Tâches de Windows peut uniquement exécuter les programmes exécutables et les scripts. Le code écrit pour une utilisation à l'intérieur de Quartz peuvent interagir directement avec votre projet .Composants NET.
Avec le Planificateur de Tâches, vous aurez à écrire un shell exécutable ou un script. À l'intérieur de la coquille, vous pouvez interagir avec vos composantes du projet. Lors de l'écriture de ce code carapace n'est pas un processus difficile, vous ne devez envisager de déployer les fichiers.
Si vous prévoyez d'ajouter plus de tâches planifiées au cours de la durée de vie du projet, vous pouvez finir par avoir besoin de créer des exécutables de coquillages ou de fichiers de script, ce qui nécessite des mises à jour du processus de déploiement. Avec du Quartz, vous n'avez pas besoin de ces fichiers, ce qui réduit l'effort total nécessaire pour créer et déployer des tâches supplémentaires.
Malheureusement, Quartz.NET emploi assemblées ne peuvent pas être mis à jour sans avoir à redémarrer le processus d'accueil ou de service. C'est un assez grand pour certaines personnes (moi y compris).
C'est tout à fait possible de construire un cadre pour les travaux en cours d'exécution sous le Planificateur de Tâches. MEF basée sur les assemblées peuvent être convoquées par une simple application console, avec tout géré via une INTERFACE utilisateur de configuration. Voici un populaire géré wrapper:
Je n'ai profiter de mon temps de travail avec Quart.NET mais la nécessité de redémarrer était trop grand problème à surmonter. Marko a fait un grande travail avec elle au fil des ans, et il a toujours été serviable et réactif. Peut-être un jour le projet permettra d'obtenir plusieurs
AppDomain
de soutien, qui permettrait d'aborder cette. (Cela dit, il promet d'être beaucoup de travail. Bravo à lui et ses collaborateurs s'ils décident de la prendre sur.)Pour paraphraser Marko, si vous avez besoin de:
...alors Quartz.NET sera votre exigence.