usingCSFramework.DB;usingFirsHaier.MPCClient;usingFirsHaier.WebApi.Core;usingFirsHaier.WebApi.DataAccess;usingFirsHaier.WebApi.Foundation;usingFirsHaier.WebApi.Models;usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Data;usingSystem.Timers;namespaceFirsHaier.WebApi.Commands
{//CSFramework.WebApi定时作业异步处理程序(IThreadHandler接口)实现///publicclassThreadSync : IThreadHandler
{privateHashtable _SendList=newHashtable();//已处理记录privateTimer _Timer;privatestring_SendMsgTime="21:01";//每天同步时间privateint_Interval=1000*60;//间隔1分钟(毫秒)publicThreadSync()
{//web.config配置,获取同步时间_SendMsgTime=System.Configuration.ConfigurationManager.AppSettings["SyncTime"];
}//启动时钟publicvoidStart()
{
_Timer=newTimer();
_Timer.Interval=_Interval;
_Timer.Elapsed +=_Timer_Elapsed;
_Timer.Start();
}//暂停时钟publicvoidStop()
{
_Timer.Stop();
_Timer.Dispose();
}privatestring_Key;//时钟事件privatevoid_Timer_Elapsed(objectsender, ElapsedEventArgs e)
{try{
_Key=DateTime.Now.ToString("yyyyMMddHHmm");if(_SendList.ContainsKey(_Key))return;//当天已发送if(_SendMsgTime!=DateTime.Now.ToString("HH:mm"))return;//发送时间不匹配_Timer.Stop();
LogManager.Log.Write("MPC-SYNC","开始进行MPC付款预算状态同步....");
DateTime begin=DateTime.Now;
IDatabase db=DatabaseProvider.GetDatabase("Your Database");
db.GetTable("SELECT * FROM TBUSER");处理逻辑。。。。。。。。//_SendList.Add(_Key, _Key);//处理完毕,添加已处理标记doublesecond=(DateTime.Now-begin).TotalMilliseconds;
LogManager.Log.Write("MPC-SYNC","同步结束,耗时(s):"+ second.ToString());
_Timer.Start();
}catch(Exception ex)
{
Log2Local.Instance.WriteInfo(ex.Message);
_Timer.Start();
}
}
}
}//来源:C/S框架网 | www.csframework.com | QQ:23404761