发布 Furion
和 Furion.Tools
和 Furion.Xunit
v4.8.4
版本
包含以下功能更新:
Dashboard
看板 4.8.4 ⏱️2022.12.30 d3f9669
@foreach
遍历 4.8.4.15 ⏱️2023.01.13 #I6A7SI:视图引擎,对数组的类型转换问题
Swagger
支持复制路由地址功能 4.8.4.13 ⏱️2023.01.11 #I5VNJI:Swagger 增加复制功能
WebAPI
方法支持通过 [ActionName(名称)]
和 [HttpMethod(Name=名称)]
指定路由名称 4.8.4.12 ⏱️2023.01.10 #I69AOJ:Get、Post特性能否用在标记动态ApiController的方法中替换方法名形成路由 f699540
BadPageResult.Status401Unauthorized
等常见状态码 401,403,404,500
静态属性 4.8.4.11 ⏱️2023.01.09 #I69KQF:JwtHandler中如何返回BadPageResult()视图对象
crontab.GetSleepTimeSpan(baseTime)
实例方法 4.8.4.10 ⏱️2023.01.09 #I69HM4:新版定时作业如何实现Sparetime.DoOnce操作
Enqueue/EnqueueAsync
支持 Cron
表达式 实例重载方法 4.8.4.10 ⏱️2023.01.09 #I69HM4:新版定时作业如何实现Sparetime.DoOnce操作
*.bcmap
和 .properties
文件类型 MIME
支持 4.8.4.9 ⏱️2023.01.06 !694:【轻量级 PR】:update framework/Furion.Pure/VirtualFileServer/FS.cs.
Dashboard
查看作业触发器最近运行记录功能 4.8.4.3 ⏱️2023.01.03 e7d24d8
trigger.GetTimelines()
获取最近 10
条运行记录列表 4.8.4.3 ⏱️2023.01.03 e7d24d8
IScheduler.GetEnumerable()
方法,可将作业计划转换成可枚举字典 4.8.4 ⏱️2022.12.30 4d5235c
StartAll
出现个别作业显示 无触发时间
的状态 4.8.4.14 ⏱️2023.01.12 #I6A08X:schedule pauseall startall的问题
WebAPI
配置 [Consumes]
特性后 Swagger
不显示问题 4.8.4.12 ⏱️2023.01.10 daf25f8
WithEncodeUrl(false)
对 application/x-www-form-urlencoded
请求类型无效 4.8.4 ⏱️2022.12.30 #I682DX: 远程请求(第二次使用远程请求遇到问题,这次不确定是框架问题,还是我不会使用)
[SuppressMonitor]
特性但 LoggingMonitor
依然输出问题 4.8.4 ⏱️2022.12.30 #I6882I:SuppressMonitor 在Class中标记无效
Furion.Pure
包访问 Dashboard
出现 404
问题 4.8.4.2 ⏱️2023.01.02 21977b7
SqlSugarCore
拓展包及脚手架至 v5.1.3.45
版本v4.8.4
版本文档samples
依赖至 v4.8.4
版本Furion
案例至 v4.8.4
版本Gitee
和 Github
Release-v4.8.4
版本1. 新增定时任务 Dashboard
看板功能
在 Furion 4.8.4+
版本内置了一个嵌入的定时任务看板功能,只需要在 Startup.cs
中启用即可,如:
app.UseStaticFiles();
app.UseScheduleUI();
// 还可以配置生产环境关闭
app.UseScheduleUI(options =>
{
options.DisableOnProduction = true;
});
app.UseScheduleUI()
必须在 app.UseStaticFiles()
之后注册,且当前版本暂未提供任何自定义功能。
接着打开浏览器并访问 /schedule
地址即可:
注意:当前 Furion 4.8.4+
版本暂未提供任何自定义功能,包括 /schedule
地址配置。
2. 定时任务作业计划可转换成可枚举字典
通常我们在开发应用时,需要将作业计划信息进行拆解,比如一个作业计划包含两个作业触发器,那么可以通过 scheduler.GetEnumerable()
方法生成可枚举字典对象,字典中的项数量等于作业触发器数量。
foreach (var (jobDetail, trigger) in scheduler.GetEnumerable())
{
// ....
}
3. 添加 InjectOptions
配置文档
.Inject()
方法提供了一个可配置的选项 InjectOptions
,可以通过该配置配置框架初始化的一些配置,如:
.Inject((builder, options) =>
{
options.AssemblyName = "Furion"; // 配置外部程序集名称
options.AutoRegisterBackgroundService = true; // 是否自动注册 BackgroundService
options.ConfigurationScanDirectories("目录1", "目录2", ...); // 配置配置文件扫描目录
options.IgnoreConfigurationFiles("文件1", "文件2", ...); // 配置忽略配置文件
// 配置配置对象
options.ConfigureAppConfiguration((context, config) =>
{
});
// 配置配置对象(Web)
options.ConfigureWebAppConfiguration((context, config) =>
{
});
// 配置 ConfigureServices
options.ConfigureServices((context, services) =>
{
});
// 配置 ConfigureServices(Web)
options.ConfigureWebServices((context, services) =>
{
});
});
4. 获取内存中作业触发器最近运行的 10
条记录
var timelines = trigger.GetTimelines(); // => [{numberOfRuns: 2, lastRunTime: "2023-01-03 14:00:08"}, {numberOfRuns: 1, lastRunTime: "2023-01-03 14:00:03"}, ...]
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
Furion/Sundial 嵌入式定时任务看板来啦,实时管理定时任务,简直太强大了!
发现个问题:通过官方脚手架“Furion.SqlSugar.Template.App”创建的Furion项目 无法打开 定时任务 Dashboard 看板 UI,提示 404,但是 通过脚手架“Furion.Template.App”创建的Furion项目可以正常访问 定时任务 Dashboard 看板 UI,是不是Furion.Pure没有同步定时任务的Dashboard看板UI?
Furion 本身就没有后台,我指的是就是看板。。。
突然想到,既然定时任务可以内置 Dashboard
看板,是不是框架也可以内置一些代码生成器进去?,哈哈,这个好好想想,毕竟包大了不好,不过定时任务看板的方式倒是打开了我的思维,以后框架可以内置很多模块的 Dashboard
看板,比如事件总线的,日志的,数据库的。。。。未来可期啊~~~😊
我们框架中原来使用的定时任务方式比较简单,就使用Get/Post方式访问webapi的url完成定时任务。
这样的话新增任务也非常简单。
新版后SpareTime.Do移除了,想请教下如何迁移呢?
现在的做法貌似是先建立Job,之前我们的Job直接就是通过一些参数生成的Action:
var action = GenerateAction(input);
大概和大家说一下我 2023
年的计划和我们团队正在做的事情。
Furion v4
版本我们将继续支持和维护到 2024年12月31日
,也就是长期 LTS
版本,v4
版本支持所有历史版本(含 v1,v2,v3
)版本升级,希望大家尽早升级。v4
版本我的计划是以修复 bug
,小增小改为主,没有 全新模块新增
或 重构某个模块
了。
在过去 v1-v4
版本可以说完全是我一个人开发,但 v5
不一样了,我们有了团队(加上我 5
个人),我更多是充当 PM
的角色,参与架构设计,讨论,还有大概 60%
的编码即可。
v5
版本从上一年11月份已经秘密在私有分支搞了,这将是一个全新的版本,不会兼容旧版本,抛弃所有历史包袱,从 v1-v4
版本中汲取经验,把所有模块做到极致,增加更多大家期待的功能模块,做到彻彻底底无第三方(除微软)依赖,而且一定提供中英文双版文档,然后从头开始。
我相信,未来 Furion
一定会越来越好,我们还是一样的初心,不管 v
几版本,依然是 MIT
开源协议,框架源码和文档本身不走任何形式的商业化。
一起努力吧,永远不要停止前进的脚步。
登录 后才可以发表评论