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

Posted soleds

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用特性+反射来做超轻量级的定时调度服务相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

 

以上是关于使用特性+反射来做超轻量级的定时调度服务的主要内容,如果未能解决你的问题,请参考以下文章

python中的轻量级定时任务调度库:schedule

python中的轻量级定时任务调度库:schedule

Spring Batch 中 Scheduler 定时任务

FluentScheduler——轻量级定时任务调度

开源的.NET定时任务组件Hangfire开发总结

python中的轻量级定时任务调度库:schedule