为实现计划任务的通用性,我使用了quartz.net代替自己写的简易计划。
但在客户使用过程中,发现运行一段时间后,程序就卡住了,感觉应该是死循环了。这个时间可能是半个月,或者一个月,没有规律。
计划任务用于两个数据库之间同步,负载比较轻。代码实现也基本上按照网上的一般实现,采用配置文件定义计划任务。
出现问题时,日志也没有输出什么异常,就是不同步了,查看进程,可以看到这个进程的cpu占用在49-50%,一直不下来。
请教问题的原因?
程序代码和配置实现:
1、设置和启动代码
2、计划任务整体架构设计成插件模式,即执行的业务代码主体使用独立的项目实现,编译好之后,放在计划任务程序的子目录下,计划任务使用probing机制搜索此dll。为了尽量不影响主程序的运行,我代码中还用应用程序域(AppDomain)加载并执行的
3、配置计划任务: