使用特性+反射来做超轻量级的定时调度服务

1、定义特性,特性中包含执行间隔的属性,在每个需要定时调度执行的方法上加上该特性,表示该方法参与定时调度。

2、编写方法,默认在调度服务启动时,会先访问该方法来获取全部需要定时执行的方法和间隔;

3、每个方法执行时,可以向服务返回日志,同时也可以返回下次执行的时间,服务将在指定的时间来调用该服务,默认按调度规则执行。若需要额外指定下次执行的时间可以在返回值中执行;

4、其实可以考虑增加本次调度的间隔参数,以方便被调用服务判断当前执行的间隔是否是常规间隔还是自定义间隔。

-------------------------------------------------------------------------------

代码在公司,后面再贴上来。该工作主要将原有的Windows服务,做得太重,需要导入100多个DLL,现在重新改造,把服务执行和服务调度完全剥离,服务调度(Windows Service)就是一个一百行代码左右的超轻量服务,后续新增或维护服务,均基于接口,不需要对服务、服务配置做任何改动。

猜你喜欢

转载自www.cnblogs.com/soleds/p/11619401.html