执行入口:

using System;
using System.Collections.Generic;
using log4net;
using Quartz;
using ypt_base.Common.Model;
using ypt_base.Common.Util.AD;
using ypt_base.Urms.BLL;
using ypt_base.Urms.Model.Res; namespace Quartz_TimerJob.TimeDevice
{
/// <summary>
/// 江苏YPT组织机构信息同步任务
/// </summary>
[DisallowConcurrentExecution] //不允许此 Job 并发执行任务(禁止新开线程执行)
public class SyncAdOrgUnitJob : IJob
{
private static readonly ILog Log = LogManager.GetLogger(typeof(SyncAdOrgUnitJob)); public void Execute(IJobExecutionContext context)
{
try
{
Log.InfoFormat("从AD域同步组织机构信息开始:{0}", DateTime.Now); // 获取AD域组织信息
List<ADModel> adList = new AdHelper().SyncOrgUnit(); // 获取组织维度信息
DictionaryManagerBLL dictBll = new DictionaryManagerBLL();
IList<UrmsDictionary> dimensionList = dictBll.GetDictionaryItemByType("orgDimension"); bool flag = false;
MetaOrgBLL orgBll = new MetaOrgBLL();
if (adList != null && adList.Count > )
{
flag = orgBll.SaveOrgUnitAndOrgUser(adList, dimensionList);
}
else
{
Log.WarnFormat("AD域中不存在所要获取的组织机构信息!");
} Log.InfoFormat(flag ? "从AD域同步组织机构信息成功!" : "从AD域同步组织机构信息失败!");
} catch (Exception ex)
{
Log.Error("从AD域同步组织机构信息异常", ex);
}
}
}
}

配置文件:

?xml version="1.0" encoding="UTF-8"?>

<!-- This file contains job definitions in schema version 2.0 format -->

<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>
<!--江苏YPT同步组织机构任务配置-->
<job>
<name>SyncAdOrgUnitJob</name>
<group>SyncAdOrgUnitGroup</group>
<description>SyncAdOrgUnit job for Quartz Server</description>
<job-type>Quartz_TimerJob.TimeDevice.SyncAdOrgUnitJob, Quartz_TimerJob</job-type>
<durable>true</durable>
<recover>false</recover>
</job> <trigger>
<cron>
<name>SyncAdOrgUnitTrigger</name>
<group>SyncAdOrgUnitGroup</group>
<job-name>SyncAdOrgUnitJob</job-name>
<job-group>SyncAdOrgUnitGroup</job-group>
<cron-expression>0 23 15 * * ?</cron-expression>
<!--[秒] [分] [小时] [日] [月] [周] [年]-->
</cron>
</trigger> </schedule>
</job-scheduling-data>

Quartz_TimeJob例子(C#)的更多相关文章

  1. SQLServer地址搜索性能优化例子

    这是一个很久以前的例子,现在在整理资料时无意发现,就拿出来再改写分享. 1.需求 1.1 基本需求: 根据输入的地址关键字,搜索出完整的地址路径,耗时要控制在几十毫秒内. 1.2 数据库地址表结构和数 ...

  2. C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)

    第一次接触HtmlAgilityPack是在5年前,一些意外,让我从技术部门临时调到销售部门,负责建立一些流程和寻找潜在客户,最后在阿里巴巴找到了很多客户信息,非常全面,刚开始是手动复制到Excel, ...

  3. REGEX例子

    作为REGEX的例子,代码9.3显示了一个给定的文件有多少行,具有给定的模式,通过命令行输入(注:有更有效率的方式来实现这个功能,如Unix下的grep命令,在这里只是给出了另一种方式).这个程序像下 ...

  4. CSharpGL(25)一个用raycast实现体渲染VolumeRender的例子

    CSharpGL(25)一个用raycast实现体渲染VolumeRender的例子 本文涉及的VolumeRendering相关的C#代码是从(https://github.com/toolchai ...

  5. 简单例子了解View的事件分发

    什么是事件分发 我们在写自定义ViewGroup或者自定义View的时候经常要处理用户的点击事件,如果我们的View在最底层,他在很多ViewGroup里面,我们如何让我们的点击事件准确传递到View ...

  6. 简单的例子了解自定义ViewGroup(一)

    在Android中,控件可以分为ViewGroup控件与View控件.自定义View控件,我之前的文章已经说过.这次我们主要说一下自定义ViewGroup控件.ViewGroup是作为父控件可以包含多 ...

  7. kqueue例子

    网络服务器通常都使用epoll进行异步IO处理,而开发者通常使用mac,为了方便开发,我把自己的handy库移植到了mac平台上.移植过程中,网上居然没有搜到kqueue的使用例子,让我惊讶不已.为了 ...

  8. 今天有群友不是很清楚htm直接存数据库的危害,我简单举个例子

     通过这个案例就知道为什么不要把原生的html放数据库了  常见的几种转码  常用的几种显示方法 只有原生html和最下面一种弹框了,变成了持久xss 如果是Ajax的方式,请用@Ajax.JavaS ...

  9. ElasticSearch 5学习(5)——第一个例子(很实用)

    想要知道ElasticSearch是如何使用的,最快的方式就是通过一个简单的例子,第一个例子将会包括基本概念如索引.搜索.和聚合等,需求是关于公司管理员工的一些业务. 员工文档索引 业务首先需要存储员 ...

随机推荐

  1. ORACLE导入Excel数据

    首先建好一个和Excel表字段对应字段的表,然后 select t.* from 表名 t  for update; 点击这个锁子,打开它 粘贴,然后 再提交事务即可

  2. PHP常用函数总结(180多个)

    PHP常用函数总结 数学函数 1.abs(): 求绝对值 $abs = abs(-4.2); //4.2 数字绝对值数字 2.ceil(): 进一法取整 echo ceil(9.999); // 10 ...

  3. windows下tomcat在当前窗口运行,不在新弹出的窗口运行

    window下tomcat在当前窗口启动,不在一个新的窗口启动startup.bat中最下几行goto setArgs:doneSetArgscall "%EXECUTABLE%" ...

  4. mysql远程访问cannot connect(10038) 问题解决的过程

    今天用Navicat访问虚拟机上的mysql,无法访问报cannot connect(10038). 首先看是否可以telnet,本机cmd,telnet 192.168.209.128 3306,结 ...

  5. Convert Sorted List to Binary Search Tree&&Convert Sorted Array to Binary Search Tree——暴力解法

    Convert Sorted List to Binary Search Tree Given a singly linked list where elements are sorted in as ...

  6. Restore IP Addresses——边界条件判定

    Given a string containing only digits, restore it by returning all possible valid IP address combina ...

  7. AC日记——「SCOI2015」情报传递 LiBreOJ 2011

    #2011. 「SCOI2015」情报传递 思路: 可持久化树状数组模板: 代码: #include <bits/stdc++.h> using namespace std; #defin ...

  8. ELK系列--justniffer0.5.12安装报错解决方法

    现象: justniffer的0.5.12(安装后显示0.5.13版本)安装过程中需要升级boost至1.46以上版本,同时在make时会出现如下报错: /opt/Python-2.6.6/Pytho ...

  9. String的hashCode分析

    /** * Returns a hash code for this string. The hash code for a * {@code String} object is computed a ...

  10. hdu 1556 Color the ball(线段树区间维护+单点求值)

    传送门:Color the ball Color the ball Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/3276 ...