现在的位置: 首页 > 综合 > 正文

.net Quartz程序的使用

2012年10月24日 ⁄ 综合 ⁄ 共 1539字 ⁄ 字号 评论关闭
public class ManInfo
    {
        static log4net.ILog logger = log4net.LogManager.GetLogger(typeof(InfoBLL));
        public static void Start()
        {
            ISchedulerFactory _schedFactory = new StdSchedulerFactory();

            logger.Info("开始执行程序");
            try
            {
                //计划任务
                IScheduler sched = _schedFactory.GetScheduler();
                JobSchedulingDataProcessor processor = new JobSchedulingDataProcessor(true, true);
                Stream s = new FileStream(AppDomain.CurrentDomain.BaseDirectory + (@"macher-setting.xml"), FileMode.Open);
                processor.ProcessStream(s, null);
                processor.ScheduleJobs(new Hashtable(), sched, false);
                sched.Start();
            }
            catch (Exception ex)
            {
                logger.Error("Application_Start:" + ex);
            }

        }
    }

记得要引用QuartZ.dll

 

 public class InfoBLL : IJob
    {
        static log4net.ILog logger = log4net.LogManager.GetLogger(typeof(InfoBLL));
        void IJob.Execute(JobExecutionContext context)
        {

            logger.Info("开始更改信息状态");
            Import();

            logger.Info("开始修复更改出现的信息");
            repair();

            // System.Threading.WaitCallback waitCallback = new WaitCallback(BindWLT);
            //ThreadPool.QueueUserWorkItem(waitCallback, arr);
            //ThreadPool.QueueUserWorkItem(waitCallback, arr1);
        }
}

记得一定要继承接口!

 

最重要的要配置:

<?xml version="1.0" encoding="utf-8" ?>
<quartz xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" overwrite-existing-jobs="true">
  <job>
    <job-detail>
      <name>定时更新状态</name>
      <group>定时更新</group>
      <description>定时更新产品的状态类型</description>
      <job-type>MyInfo.InfoBLL,MyInfo</job-type>
    </job-detail>
    <trigger>
      <cron>
        <name>定时更新状态</name>
        <group>定时更新</group>
        <job-name>定时更新</job-name>
        <job-group>定时更新</job-group>
        <cron-expression> 0 * 15 * * ? </cron-expression>
      </cron>
    </trigger>
  </job>
</quartz>

配置文件说明见下一篇!O(∩_∩)O~

抱歉!评论已关闭.