登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
轻量养虾,开箱即用!低 Token + 稳定算力,Gitee & 模力方舟联合出品的 PocketClaw 正式开售!点击了解详情
代码拉取完成,页面将自动刷新
开源项目
>
WEB应用开发
>
Web开发框架
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
9.9K
Star
14.5K
Fork
4.2K
GVP
dotNET China
/
Furion
代码
Issues
0
Pull Requests
0
统计
流水线
服务
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
开发画像分析
我知道了,不再自动展开
更新失败,请稍后重试!
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
📝 发布 Furion v4.8.2 版本
已完成
#I63CTP
百小僧
拥有者
创建于
2022-11-27 22:14
### 功能描述 发布 `Furion` 和 `Furion.Tools` 和 `Furion.Xunit` `v4.8.2` 版本 包含以下功能更新: ### 功能清单 - [x] 新增 定时任务间隔分钟作业触发器 `Triggers.PeriodMinutes(5)` 和 `[PeriodMinutes(5)]` 特性 <sup>4.8.2.8</sup> <sup>⏱️2022.12.01</sup> [8e1f06f](https://gitee.com/dotnetchina/Furion/commit/8e1f06fa2161ee2bf8bcea29af8aaa5a60ef9db9) - [x] 新增 **定时任务 `Triggers` 所有带 `At` 的 `Cron` 表达式触发器构建器及特性** <sup>4.8.2.5</sup> <sup>⏱️2022.11.29</sup> [#I63PLR](https://gitee.com/dotnetchina/Sundial/issues/I63PLR) - [x] 新增 `JobDetail` 和 `Trigger` 自定义 `ConvertToSQL` 输出 `SQL` 配置 <sup>4.8.2</sup> <sup>⏱️2022.11.27</sup> [0bb9d8f](https://gitee.com/dotnetchina/Furion/commit/0bb9d8f1f3606af145b44c2984b87fdc020f02e1) - [x] 新增 **`App.GetThreadId()` 和 `App.GetTraceId()` 获取线程 `Id` 和请求 `TraceId`** <sup>4.8.2.4</sup> <sup>⏱️2022.11.29</sup> [910fc1f](https://gitee.com/dotnetchina/Furion/commit/910fc1fbad9e40245c5694f30457cd4d2ca0d630) - [x] 新增 **`App.GetExecutionTime(() => { /*Your Code*/ })` 获取代码执行耗时** <sup>4.8.2.4</sup> <sup>⏱️2022.11.29</sup> [5ab4b19](https://gitee.com/dotnetchina/Furion/commit/5ab4b19786e53d8934de08fd2f5430fc66c3b9a1) - [x] 新增 定时任务批量添加 `SchedulerBuilder` 作业功能 <sup>4.8.2.4</sup> <sup>⏱️2022.11.29</sup> [5faa67b](https://gitee.com/dotnetchina/Furion/commit/5faa67b7817459cb0ee0add86a6e53c17ff51a05) - [x] 新增 定时任务 `BuildSqlType` 配置,可设置生成不同数据库类型的 `SQL` 语句 <sup>4.8.2.3</sup> <sup>⏱️2022.11.29</sup> [293f9bc](https://gitee.com/dotnetchina/Furion/commit/293f9bce34fc4f70eacae1043ed697d31da88409) [!675](https://gitee.com/dotnetchina/Furion/pulls/675) - [x] 新增 定时任务工作日作业触发器 `Triggers.Workday()` 和 `[Workday]` 特性 <sup>4.8.2.6</sup> <sup>⏱️2022.11.30</sup> [28b2d20](https://gitee.com/dotnetchina/Furion/commit/28b2d20b3f6034a4cdf5827576c34412315fbb15) - [x] 新增 定时任务作业校对功能,可对误差进行校正 <sup>4.8.2.6</sup> <sup>⏱️2022.11.30</sup> [f725a25](https://gitee.com/dotnetchina/Furion/commit/f725a252e6a89f9dea6489d4e54452077b1935e5) - [x] 新增 `Crontab.ParseAt(..)` 静态方法 <sup>4.8.2.6</sup> <sup>⏱️2022.11.30</sup> [035cc23](https://gitee.com/dotnetchina/Furion/commit/035cc23a20045e9673a1406b94e72030f5f18375) - [x] 新增 `Crontab` 所有 `Macro At` 静态方法 <sup>4.8.2.6</sup> <sup>⏱️2022.11.30</sup> [a15b69d](https://gitee.com/dotnetchina/Furion/commit/a15b69d0eeb4bdc8d0ec042cfec22ff0049dc89f) - [x] 新增 `Crontab.Workday` 表示周一至周五的 `Macro` 静态属性 <sup>4.8.2.6</sup> <sup>⏱️2022.11.30</sup> [a15b69d](https://gitee.com/dotnetchina/Furion/commit/a15b69d0eeb4bdc8d0ec042cfec22ff0049dc89f) - [x] 修复 日志模块因 `v4.8.0+` 版本导致写入数据库日志空异常问题 <sup>4.8.2.1</sup> <sup>⏱️2022.11.28</sup> [8d9d72b](https://gitee.com/dotnetchina/Furion/commit/8d9d72b5bfcb8dfc730462c9313266ec0661d561) - [x] 调整 定时任务调度器时间精度,控制持续执行一年误差在 `100ms` 以内 <sup>4.8.2.9</sup> <sup>⏱️2022.12.01</sup> [334d089](https://gitee.com/dotnetchina/Furion/commit/334d08989503bacd8bf2abb2cc87cf2031dc9da6) - [x] 调整 定时任务作业计划工厂 `GetNextRunJobs()` 方法逻辑 <sup>4.8.2.7</sup> <sup>⏱️2022.11.30</sup> [#I63VS2](https://gitee.com/dotnetchina/Furion/issues/I63VS2) - [x] 调整 `LoggingMonitor` 解析授权逻辑,如果接口未授权则不打印授权信息 <sup>4.8.2.1</sup> <sup>⏱️2022.11.28</sup> [#I63D2E](https://gitee.com/dotnetchina/Furion/issues/I63D2E) - [x] 发布 `v4.8.2` 版本文档 - [x] 更新 示例项目 `samples` 依赖至 `v4.8.2` 版本 - [x] 同步 [Replit](https://replit.com/@MonkSoul/HelloFurion) 网站 `Furion` 案例至 `v4.8.2` 版本 - [x] 发布 `Gitee` 和 `Github` `Release-v4.8.2` 版本 - [x] 同步 更新日志 ### 代码实现 [https://gitee.com/dotnetchina/Furion/commit/0bb9d8f1f3606af145b44c2984b87fdc020f02e1](https://gitee.com/dotnetchina/Furion/commit/0bb9d8f1f3606af145b44c2984b87fdc020f02e1) ### 文档更新 **1. 自定义 `JobDetail` 输出 `SQL` 配置** ```cs showLineNumbers {1,3,8,13,18} services.AddSchedule(options => { options.JobDetail.ConvertToSQL = (tableName, columnNames, jobDetail, behavior, naming) => { // 生成新增 SQL if (behavior == PersistenceBehavior.Appended) { return jobDetail.ConvertToInsertSQL(tableName, naming); } // 生成更新 SQL else if (behavior == PersistenceBehavior.Updated) { return jobDetail.ConvertToUpdateSQL(tableName, naming); } // 生成删除 SQL else if (behavior == PersistenceBehavior.Removed) { return jobDetail.ConvertToDeleteSQL(tableName, naming); } return string.Empty; }; }); ``` - `ConvertToSQL` 委托参数说明 - `tableName`:数据库表名称,`string` 类型 - `columnNames`:数据库列名:`string[]` 类型,只能通过 `索引` 获取 - `jobDetail`:作业信息 `JobDetail` 对象 - `behavior`:持久化 `PersistenceBehavior` 类型,用于标记新增,更新还是删除操作 - `naming`:命名法 `NamingConventions` 类型,包含 `CamelCase(驼峰命名法)`,`Pascal(帕斯卡命名法)` 和 `UnderScoreCase(下划线命名法)` ----- **2. 自定义 `Trigger` 输出 `SQL` 配置** ```cs showLineNumbers {1,3,8,13,18} services.AddSchedule(options => { options.Trigger.ConvertToSQL = (tableName, columnNames, trigger, behavior, naming) => { // 生成新增 SQL if (behavior == PersistenceBehavior.Appended) { return trigger.ConvertToInsertSQL(tableName, naming); } // 生成更新 SQL else if (behavior == PersistenceBehavior.Updated) { return trigger.ConvertToUpdateSQL(tableName, naming); } // 生成删除 SQL else if (behavior == PersistenceBehavior.Removed) { return trigger.ConvertToDeleteSQL(tableName, naming); } return string.Empty; }; }); ``` - `ConvertToSQL` 委托参数说明 - `tableName`:数据库表名称,`string` 类型 - `columnNames`:数据库列名:`string[]` 类型,只能通过 `索引` 获取 - `jobDetail`:作业信息 `Trigger` 对象 - `behavior`:持久化 `PersistenceBehavior` 类型,用于标记新增,更新还是删除操作 - `naming`:命名法 `NamingConventions` 类型,包含 `CamelCase(驼峰命名法)`,`Pascal(帕斯卡命名法)` 和 `UnderScoreCase(下划线命名法)` ----- **3. 指定生成 `SQL` 数据库类型** ```cs services.AddSchedule(options => { // 配置输出 SQL 的数据库类型 options.BuildSqlType = SqlTypes.SqlServer; }); ``` ----- **4. 获取当前线程 `Id`** ```cs showLineNumbers var threadId = App.GetThreadId(); ``` ----- **5. 获取当前请求 `TraceId`** ```cs showLineNumbers var traceId = App.GetTraceId(); ``` ----- **6. 获取代码执行耗时** ```cs showLineNumbers var elapsedMilliseconds = App.GetExecutionTime(() => { Console.WriteLine("Hello, Furion"); }); ``` **7. 新增 `Triggers` 更多拓展方法** ```cs // 每第 3 秒 var triggerBuilder = Triggers.SecondlyAt(3); // 每第 3,5,6 秒 var triggerBuilder = Triggers.SecondlyAt(3, 5, 6); // 每分钟第 3 秒 var triggerBuilder = Triggers.MinutelyAt(3); // 每分钟第 3,5,6 秒 var triggerBuilder = Triggers.MinutelyAt(3, 5, 6); // 每小时第 3 分钟 var triggerBuilder = Triggers.HourlyAt(3); // 每小时第 3,5,6 分钟 var triggerBuilder = Triggers.HourlyAt(3, 5, 6); // 每天第 3 小时正(点) var triggerBuilder = Triggers.DailyAt(3); // 每天第 3,5,6 小时正(点) var triggerBuilder = Triggers.DailyAt(3, 5, 6); // 每月第 3 天零点正 var triggerBuilder = Triggers.MonthlyAt(3); // 每月第 3,5,6 天零点正 var triggerBuilder = Triggers.MonthlyAt(3, 5, 6); // 每周星期 3 零点正 var triggerBuilder = Triggers.WeeklyAt(3); var triggerBuilder = Triggers.WeeklyAt("WED"); // SUN(星期天),MON,TUE,WED,THU,FRI,SAT // 每周星期 3,5,6 零点正 var triggerBuilder = Triggers.WeeklyAt(3, 5, 6); var triggerBuilder = Triggers.WeeklyAt("WED", "FRI", "SAT"); // 还支持混合 var triggerBuilder = Triggers.WeeklyAt(3, "FRI", 6); // 每年第 3 月 1 日零点正 var triggerBuilder = Triggers.YearlyAt(3); var triggerBuilder = Triggers.YearlyAt("MAR"); // JAN(一月),FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC // 每年第 3,5,6 月 1 日零点正 var triggerBuilder = Triggers.YearlyAt(3); var triggerBuilder = Triggers.YearlyAt(3, 5, 6); var triggerBuilder = Triggers.YearlyAt("MAR", "MAY", "JUN"); // 还支持混合 var triggerBuilder = Triggers.YearlyAt(3, "MAY", 6); ``` - **新的触发器特性 `At` 语法** - `[SecondlyAt]`:特定秒开始作业触发器特性 - `[MinutelyAt]`:每分钟特定秒开始作业触发器特性 - `[HourlyAt]`:每小时特定分钟开始作业触发器特性 - `[DailyAt]`:每天特定小时开始作业触发器特性 - `[MonthlyAt]`:每月特定天(午夜)开始作业触发器特性 - `[WeeklyAt]`:每周特定星期几(午夜)开始作业触发器特性 - `[YearlyAt]`:每年特定月1号(午夜)开始作业触发器特性 ----- **8. 工作日作业触发器及特性** ```cs var triggerBuilder = Triggers.Workday(); ``` - `[Workday]`:每周一至周五(午夜)开始触发器特性 ----- **9. 校对作业** 有时候因为一些不确定的因素导致作业出现了极小的误差甚至停止执行,这时候可以通过校对作业进行修正。 ```cs showLineNumbers {1,4} scheduler.Collate(); _schedulerFactory.CollateAll(); // 还可以通过 group 控制 _schedulerFactory.CollateAll("group1"); ``` **10. 分钟间隔作业触发器及特性** ```cs var triggerBuilder = Triggers.PeriodMinutes(5); ``` - `[PeriodMinutes(5)]`:分钟间隔作业触发器特性 -----
### 功能描述 发布 `Furion` 和 `Furion.Tools` 和 `Furion.Xunit` `v4.8.2` 版本 包含以下功能更新: ### 功能清单 - [x] 新增 定时任务间隔分钟作业触发器 `Triggers.PeriodMinutes(5)` 和 `[PeriodMinutes(5)]` 特性 <sup>4.8.2.8</sup> <sup>⏱️2022.12.01</sup> [8e1f06f](https://gitee.com/dotnetchina/Furion/commit/8e1f06fa2161ee2bf8bcea29af8aaa5a60ef9db9) - [x] 新增 **定时任务 `Triggers` 所有带 `At` 的 `Cron` 表达式触发器构建器及特性** <sup>4.8.2.5</sup> <sup>⏱️2022.11.29</sup> [#I63PLR](https://gitee.com/dotnetchina/Sundial/issues/I63PLR) - [x] 新增 `JobDetail` 和 `Trigger` 自定义 `ConvertToSQL` 输出 `SQL` 配置 <sup>4.8.2</sup> <sup>⏱️2022.11.27</sup> [0bb9d8f](https://gitee.com/dotnetchina/Furion/commit/0bb9d8f1f3606af145b44c2984b87fdc020f02e1) - [x] 新增 **`App.GetThreadId()` 和 `App.GetTraceId()` 获取线程 `Id` 和请求 `TraceId`** <sup>4.8.2.4</sup> <sup>⏱️2022.11.29</sup> [910fc1f](https://gitee.com/dotnetchina/Furion/commit/910fc1fbad9e40245c5694f30457cd4d2ca0d630) - [x] 新增 **`App.GetExecutionTime(() => { /*Your Code*/ })` 获取代码执行耗时** <sup>4.8.2.4</sup> <sup>⏱️2022.11.29</sup> [5ab4b19](https://gitee.com/dotnetchina/Furion/commit/5ab4b19786e53d8934de08fd2f5430fc66c3b9a1) - [x] 新增 定时任务批量添加 `SchedulerBuilder` 作业功能 <sup>4.8.2.4</sup> <sup>⏱️2022.11.29</sup> [5faa67b](https://gitee.com/dotnetchina/Furion/commit/5faa67b7817459cb0ee0add86a6e53c17ff51a05) - [x] 新增 定时任务 `BuildSqlType` 配置,可设置生成不同数据库类型的 `SQL` 语句 <sup>4.8.2.3</sup> <sup>⏱️2022.11.29</sup> [293f9bc](https://gitee.com/dotnetchina/Furion/commit/293f9bce34fc4f70eacae1043ed697d31da88409) [!675](https://gitee.com/dotnetchina/Furion/pulls/675) - [x] 新增 定时任务工作日作业触发器 `Triggers.Workday()` 和 `[Workday]` 特性 <sup>4.8.2.6</sup> <sup>⏱️2022.11.30</sup> [28b2d20](https://gitee.com/dotnetchina/Furion/commit/28b2d20b3f6034a4cdf5827576c34412315fbb15) - [x] 新增 定时任务作业校对功能,可对误差进行校正 <sup>4.8.2.6</sup> <sup>⏱️2022.11.30</sup> [f725a25](https://gitee.com/dotnetchina/Furion/commit/f725a252e6a89f9dea6489d4e54452077b1935e5) - [x] 新增 `Crontab.ParseAt(..)` 静态方法 <sup>4.8.2.6</sup> <sup>⏱️2022.11.30</sup> [035cc23](https://gitee.com/dotnetchina/Furion/commit/035cc23a20045e9673a1406b94e72030f5f18375) - [x] 新增 `Crontab` 所有 `Macro At` 静态方法 <sup>4.8.2.6</sup> <sup>⏱️2022.11.30</sup> [a15b69d](https://gitee.com/dotnetchina/Furion/commit/a15b69d0eeb4bdc8d0ec042cfec22ff0049dc89f) - [x] 新增 `Crontab.Workday` 表示周一至周五的 `Macro` 静态属性 <sup>4.8.2.6</sup> <sup>⏱️2022.11.30</sup> [a15b69d](https://gitee.com/dotnetchina/Furion/commit/a15b69d0eeb4bdc8d0ec042cfec22ff0049dc89f) - [x] 修复 日志模块因 `v4.8.0+` 版本导致写入数据库日志空异常问题 <sup>4.8.2.1</sup> <sup>⏱️2022.11.28</sup> [8d9d72b](https://gitee.com/dotnetchina/Furion/commit/8d9d72b5bfcb8dfc730462c9313266ec0661d561) - [x] 调整 定时任务调度器时间精度,控制持续执行一年误差在 `100ms` 以内 <sup>4.8.2.9</sup> <sup>⏱️2022.12.01</sup> [334d089](https://gitee.com/dotnetchina/Furion/commit/334d08989503bacd8bf2abb2cc87cf2031dc9da6) - [x] 调整 定时任务作业计划工厂 `GetNextRunJobs()` 方法逻辑 <sup>4.8.2.7</sup> <sup>⏱️2022.11.30</sup> [#I63VS2](https://gitee.com/dotnetchina/Furion/issues/I63VS2) - [x] 调整 `LoggingMonitor` 解析授权逻辑,如果接口未授权则不打印授权信息 <sup>4.8.2.1</sup> <sup>⏱️2022.11.28</sup> [#I63D2E](https://gitee.com/dotnetchina/Furion/issues/I63D2E) - [x] 发布 `v4.8.2` 版本文档 - [x] 更新 示例项目 `samples` 依赖至 `v4.8.2` 版本 - [x] 同步 [Replit](https://replit.com/@MonkSoul/HelloFurion) 网站 `Furion` 案例至 `v4.8.2` 版本 - [x] 发布 `Gitee` 和 `Github` `Release-v4.8.2` 版本 - [x] 同步 更新日志 ### 代码实现 [https://gitee.com/dotnetchina/Furion/commit/0bb9d8f1f3606af145b44c2984b87fdc020f02e1](https://gitee.com/dotnetchina/Furion/commit/0bb9d8f1f3606af145b44c2984b87fdc020f02e1) ### 文档更新 **1. 自定义 `JobDetail` 输出 `SQL` 配置** ```cs showLineNumbers {1,3,8,13,18} services.AddSchedule(options => { options.JobDetail.ConvertToSQL = (tableName, columnNames, jobDetail, behavior, naming) => { // 生成新增 SQL if (behavior == PersistenceBehavior.Appended) { return jobDetail.ConvertToInsertSQL(tableName, naming); } // 生成更新 SQL else if (behavior == PersistenceBehavior.Updated) { return jobDetail.ConvertToUpdateSQL(tableName, naming); } // 生成删除 SQL else if (behavior == PersistenceBehavior.Removed) { return jobDetail.ConvertToDeleteSQL(tableName, naming); } return string.Empty; }; }); ``` - `ConvertToSQL` 委托参数说明 - `tableName`:数据库表名称,`string` 类型 - `columnNames`:数据库列名:`string[]` 类型,只能通过 `索引` 获取 - `jobDetail`:作业信息 `JobDetail` 对象 - `behavior`:持久化 `PersistenceBehavior` 类型,用于标记新增,更新还是删除操作 - `naming`:命名法 `NamingConventions` 类型,包含 `CamelCase(驼峰命名法)`,`Pascal(帕斯卡命名法)` 和 `UnderScoreCase(下划线命名法)` ----- **2. 自定义 `Trigger` 输出 `SQL` 配置** ```cs showLineNumbers {1,3,8,13,18} services.AddSchedule(options => { options.Trigger.ConvertToSQL = (tableName, columnNames, trigger, behavior, naming) => { // 生成新增 SQL if (behavior == PersistenceBehavior.Appended) { return trigger.ConvertToInsertSQL(tableName, naming); } // 生成更新 SQL else if (behavior == PersistenceBehavior.Updated) { return trigger.ConvertToUpdateSQL(tableName, naming); } // 生成删除 SQL else if (behavior == PersistenceBehavior.Removed) { return trigger.ConvertToDeleteSQL(tableName, naming); } return string.Empty; }; }); ``` - `ConvertToSQL` 委托参数说明 - `tableName`:数据库表名称,`string` 类型 - `columnNames`:数据库列名:`string[]` 类型,只能通过 `索引` 获取 - `jobDetail`:作业信息 `Trigger` 对象 - `behavior`:持久化 `PersistenceBehavior` 类型,用于标记新增,更新还是删除操作 - `naming`:命名法 `NamingConventions` 类型,包含 `CamelCase(驼峰命名法)`,`Pascal(帕斯卡命名法)` 和 `UnderScoreCase(下划线命名法)` ----- **3. 指定生成 `SQL` 数据库类型** ```cs services.AddSchedule(options => { // 配置输出 SQL 的数据库类型 options.BuildSqlType = SqlTypes.SqlServer; }); ``` ----- **4. 获取当前线程 `Id`** ```cs showLineNumbers var threadId = App.GetThreadId(); ``` ----- **5. 获取当前请求 `TraceId`** ```cs showLineNumbers var traceId = App.GetTraceId(); ``` ----- **6. 获取代码执行耗时** ```cs showLineNumbers var elapsedMilliseconds = App.GetExecutionTime(() => { Console.WriteLine("Hello, Furion"); }); ``` **7. 新增 `Triggers` 更多拓展方法** ```cs // 每第 3 秒 var triggerBuilder = Triggers.SecondlyAt(3); // 每第 3,5,6 秒 var triggerBuilder = Triggers.SecondlyAt(3, 5, 6); // 每分钟第 3 秒 var triggerBuilder = Triggers.MinutelyAt(3); // 每分钟第 3,5,6 秒 var triggerBuilder = Triggers.MinutelyAt(3, 5, 6); // 每小时第 3 分钟 var triggerBuilder = Triggers.HourlyAt(3); // 每小时第 3,5,6 分钟 var triggerBuilder = Triggers.HourlyAt(3, 5, 6); // 每天第 3 小时正(点) var triggerBuilder = Triggers.DailyAt(3); // 每天第 3,5,6 小时正(点) var triggerBuilder = Triggers.DailyAt(3, 5, 6); // 每月第 3 天零点正 var triggerBuilder = Triggers.MonthlyAt(3); // 每月第 3,5,6 天零点正 var triggerBuilder = Triggers.MonthlyAt(3, 5, 6); // 每周星期 3 零点正 var triggerBuilder = Triggers.WeeklyAt(3); var triggerBuilder = Triggers.WeeklyAt("WED"); // SUN(星期天),MON,TUE,WED,THU,FRI,SAT // 每周星期 3,5,6 零点正 var triggerBuilder = Triggers.WeeklyAt(3, 5, 6); var triggerBuilder = Triggers.WeeklyAt("WED", "FRI", "SAT"); // 还支持混合 var triggerBuilder = Triggers.WeeklyAt(3, "FRI", 6); // 每年第 3 月 1 日零点正 var triggerBuilder = Triggers.YearlyAt(3); var triggerBuilder = Triggers.YearlyAt("MAR"); // JAN(一月),FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC // 每年第 3,5,6 月 1 日零点正 var triggerBuilder = Triggers.YearlyAt(3); var triggerBuilder = Triggers.YearlyAt(3, 5, 6); var triggerBuilder = Triggers.YearlyAt("MAR", "MAY", "JUN"); // 还支持混合 var triggerBuilder = Triggers.YearlyAt(3, "MAY", 6); ``` - **新的触发器特性 `At` 语法** - `[SecondlyAt]`:特定秒开始作业触发器特性 - `[MinutelyAt]`:每分钟特定秒开始作业触发器特性 - `[HourlyAt]`:每小时特定分钟开始作业触发器特性 - `[DailyAt]`:每天特定小时开始作业触发器特性 - `[MonthlyAt]`:每月特定天(午夜)开始作业触发器特性 - `[WeeklyAt]`:每周特定星期几(午夜)开始作业触发器特性 - `[YearlyAt]`:每年特定月1号(午夜)开始作业触发器特性 ----- **8. 工作日作业触发器及特性** ```cs var triggerBuilder = Triggers.Workday(); ``` - `[Workday]`:每周一至周五(午夜)开始触发器特性 ----- **9. 校对作业** 有时候因为一些不确定的因素导致作业出现了极小的误差甚至停止执行,这时候可以通过校对作业进行修正。 ```cs showLineNumbers {1,4} scheduler.Collate(); _schedulerFactory.CollateAll(); // 还可以通过 group 控制 _schedulerFactory.CollateAll("group1"); ``` **10. 分钟间隔作业触发器及特性** ```cs var triggerBuilder = Triggers.PeriodMinutes(5); ``` - `[PeriodMinutes(5)]`:分钟间隔作业触发器特性 -----
评论 (
25
)
登录
后才可以发表评论
状态
已完成
待办的
进行中
已完成
已关闭
负责人
未设置
百小僧
monksoul
负责人
协作者
+负责人
+协作者
标签
新功能
未设置
标签管理
里程碑
v4.8.2
未关联里程碑
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
分支 (
-
)
标签 (
-
)
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
参与者(7)
C#
1
https://gitee.com/dotnetchina/Furion.git
git@gitee.com:dotnetchina/Furion.git
dotnetchina
Furion
Furion
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册