Quartz.NET external job config
Le formalisme a respecter (Format Quartz v2) et les elements de configuration
http://stackoverflow.com/questions/10296383/quartz-net-from-config-xml-in-asp-net
Le bloc de configuration dans app.config et un peu de tuning
http://stackoverflow.com/questions/4864971/can-quartz-net-reconfigure-jobs-when-config-file-changes
Exemple de configuration d’un job s’executant tout les 1 minutes a la seconde 0
<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0"> <processing-directives> <overwrite-existing-data>true</overwrite-existing-data> </processing-directives> <schedule> <job> <name>MyJob</name> <group>MyJobs</group> <description>sends out a test email</description> <job-type>Monitoring.Agent.Jobs.HelloWorldJob, Monitoring.Agent</job-type> <durable>true</durable> <recover>false</recover> <job-data-map> <entry> <key>Body</key> <value>Hello From your website!!!!!!!!</value> </entry> </job-data-map> </job> <trigger> <cron> <name>MyJobTrigger</name> <group>MyJobs</group> <description>A description</description> <job-name>MyJob</job-name> <job-group>MyJobs</job-group> <cron-expression>0 0/1 * * * ?</cron-expression> </cron> </trigger> </schedule> </job-scheduling-data>
En cadeau, de quoi consommer les paramètres de la config dans le code via une abstraction
http://www.codeproject.com/Tips/399786/Quartz-Net-Custom-Base-Job
Si les valeurs ne sont pas formattées en JSON, modifier l’abstraction par ceci :
private string GetPropertyValue(PropertyInfo property) { object value = property.GetValue(this, null); return value as string; } private void SetPropertyValue(PropertyInfo property, string value) { property.SetValue(this, value, null); }