C#定时任务之FluentScheduler
一、业务需求 平台首页,有几个指标统计,产品不要求实时性,觉得一天更新一次可以接受。 最后决定用FluentScheduler定时执行统计,redis缓存结果。 每天晚上1点进行定时任务统计,将统计结果缓存到redis中,业务接口直接从reids里拿统计数据。 二、开始撸代码 方式一:多个任务 + 不同时间段执行(这个没有实现,大家可以使用 一个从0点开始的分钟数,秒数等,自定义一个接口,根据规则去调用Schedule中的方法) using System; using System.Linq; using System.Threading.Tasks; using FluentScheduler; namespace Common { // 自己定义了一个接口,目前只有一个方法,大家可以根据自己的需求添加接口,比如定义一个执行任务的时间接口等 public interface IScheduleTask { void Execute(); } public class ScheduleTask : Registry { public ScheduleTask() { // 获取已加载到此应用程序域的执行上下文中的程序集(因为有延迟加载机制, // 未加载到应用程序域的时候会报错,一般初始化的时候可能会再现问题) // var types = AppDomain