quartz.net de config xml em asp.net
Alguém pode aconselhar sobre o que estou fazendo errado. Eu estou tentando configurar o qurtz para que na inicialização ele irá ler um arquivo de configuração xml. dentro do arquivo existe um job que ativa minha classe HelloEmail_Job.cs (ela é criada corretamente, estendendo o IJob com a lógica no método execute). o xml também tem um gatilho cron para o trabalho que irá disparar a cada minuto (puramente para testes)
mas tudo começa sem um erro, mas o trabalho nunca é acionado. Tenho certeza de que estou configurando errado
Eu tenho um singleton que lida com a geração do meu agendador, o agendamento começa na inicialização do meu aplicativo (no arquivo global.asax)
<code> NameValueCollection properties = new NameValueCollection(); properties["quartz.scheduler.instanceName"] = "RemoteServer"; ////// set thread pool info properties["quartz.threadPool.type"] = "Quartz.Simpl.SimpleThreadPool, Quartz"; properties["quartz.threadPool.threadCount"] = "5"; properties["quartz.threadPool.threadPriority"] = "Normal"; properties["quartz.jobStore.type"] = "Quartz.Impl.AdoJobStore.JobStoreTX, Quartz"; properties["quartz.jobStore.useProperties"] = "true"; properties["quartz.jobStore.dataSource"] = "default"; properties["quartz.jobStore.tablePrefix"] = "QRTZ_"; properties["quartz.jobStore.lockHandler.type"] = "Quartz.Impl.AdoJobStore.UpdateLockRowSemaphore, Quartz"; properties["quartz.dataSource.default.connectionString"] = "Data Source=CRAIG-PC\\SQLEXPRESS;Initial Catalog=MCWdb;User ID=sa;Password=mastercrud;"; properties["quartz.dataSource.default.provider"] = "SqlServer-20"; // job initialization plugin handles our xml reading, without it defaults are used properties["quartz.plugin.xml.type"] = "Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin, Quartz"; properties["quartz.plugin.xml.fileNames"] = "~/quartz_jobs.xml"; ISchedulerFactory sf = new StdSchedulerFactory(properties); _sched = sf.GetScheduler(); </code>
meu arquivo quartz_jobs.xml se parece com isso
<code> <?xml version="1.0" encoding="UTF-8"?> <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> <job-detail> <name>MyJob</name> <group>MyJobs</group> <description>sends out a test email</description> <job-type>HelloEmail_Job</job-type> <volatile>false</volatile> <durable>true</durable> <recover>false</recover> <job-data-map> <entry> <key>Body</key> <value>Hello From your website!!!!!!!!</value> </entry> </job-data-map> </job-detail> <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 * 1/1 * ? *</cron-expression> </cron> </trigger> </job> </schedule> </job-scheduling-data> </code>
Eu sei que o schedular está sendo executado corretamente para tarefas ad hoc com um gatilho simples, porque quando meu aplicativo as cria e as programa dinamicamente, ele funciona perfeitamente. mas eu quero que a lógica seja repetida (através de um cron) e configurável através de um xml
Minha intuição é que o valor de JOB_TYPE está errado.
obrigado