草庐IT

ASP.NET Core MVC+Quartz实现定时任务可视化管理页面

在前一篇文章,我们了解了如何通过.NET6+Quartz开发基于控制台应用程序的定时任务,今天继续在之前的基础上,进一步讲解基于ASP.NETCoreMVC+Quartz实现定时任务的可视化管理页面,仅供学习分享使用,如有不足之处,还请指正。涉及知识点Quartz组件,关于Quartz组件的基本介绍,可参考前一篇文章或官网。GZY.Quartz.MUI,基于Quartz的定时任务维护UI,具有新增,删除,启动,停止等功能,之处DLL和WebAPI接口调用两种模式。创建ASP.NETCoreMVC项目在VisualStudio2022中,首先创建基于ASP.NETCoreMVC的项目,根据步骤进

【.NET生态系列】使用Hangfire+.NET 6实现定时任务管理

在.NET开发生态中,我们以前开发定时任务都是用的Quartz.NET完成的。在这篇文章里,记录一下另一个很强大的定时任务框架的使用方法:Hangfire。两个框架各自都有特色和优势,可以根据参考文章里张队的那篇文章对两个框架的对比来进行选择。引入Nuget包和配置引入Hangfire相关的Nuget包:Hangfire.AspNetCoreHangfire.MemoryStorageHangfire.Dashboard.Basic.Authentication并对Hangfire进行服务配置:builder.Services.AddHangfire(c=>{//使用内存数据库演示,在实际使用

【.NET生态系列】使用Hangfire+.NET 6实现定时任务管理

在.NET开发生态中,我们以前开发定时任务都是用的Quartz.NET完成的。在这篇文章里,记录一下另一个很强大的定时任务框架的使用方法:Hangfire。两个框架各自都有特色和优势,可以根据参考文章里张队的那篇文章对两个框架的对比来进行选择。引入Nuget包和配置引入Hangfire相关的Nuget包:Hangfire.AspNetCoreHangfire.MemoryStorageHangfire.Dashboard.Basic.Authentication并对Hangfire进行服务配置:builder.Services.AddHangfire(c=>{//使用内存数据库演示,在实际使用

给依赖属性设置单向绑定时,直接给依赖属性赋值,导致单向绑定永久失效

问题描述在下面这段代码中,我们给控件的某个属性设置了单向绑定,然后在代码的某处给这个属性显式地赋了值,结果会导致我们在这之前设置的绑定永久失效。//外部给Text属性设置绑定//控件内部代码privatevoidClearButton_Click(objectsender,RoutedEventArgse){base.Text=string.Empty;}解决方案1最简单的解决方式是将绑定改为双向的,那么给任何一方显式地赋值都不会使绑定失效解决方案2如果不想更改绑定方式,那么可以在赋值前保存之前的绑定,在赋值后设置回去。这种方式验证过,也是可行的,不过感觉代码不太优雅,当出现这种情况时,或许可

给依赖属性设置单向绑定时,直接给依赖属性赋值,导致单向绑定永久失效

问题描述在下面这段代码中,我们给控件的某个属性设置了单向绑定,然后在代码的某处给这个属性显式地赋了值,结果会导致我们在这之前设置的绑定永久失效。//外部给Text属性设置绑定//控件内部代码privatevoidClearButton_Click(objectsender,RoutedEventArgse){base.Text=string.Empty;}解决方案1最简单的解决方式是将绑定改为双向的,那么给任何一方显式地赋值都不会使绑定失效解决方案2如果不想更改绑定方式,那么可以在赋值前保存之前的绑定,在赋值后设置回去。这种方式验证过,也是可行的,不过感觉代码不太优雅,当出现这种情况时,或许可

【odoo】【知识杂谈】单一实例多库模式下定时任务线程崩了

现象接上一篇,在成功实现单一实例多库模式下定时任务的问题后,现在可以实现多个库的定时任务跑起来了。但是发现在任务跑几次后就不再执行了,每次重启odoo实例就会恢复。但是很快又不行了。分析查看进程发现,后台开启的两个定时任务线程直接消失了。。。查看日志,有段报错,如下:fordb_name,registryinregistries.d.items():RuntimeError:OrderedDictmutatedduringiteration可以定位到问题出现server.py文件中的cron_thread函数上。经过实验发现,python3版本的OrderedDict对象在迭代的过程中如果新增

【odoo】【知识杂谈】单一实例多库模式下定时任务线程崩了

现象接上一篇,在成功实现单一实例多库模式下定时任务的问题后,现在可以实现多个库的定时任务跑起来了。但是发现在任务跑几次后就不再执行了,每次重启odoo实例就会恢复。但是很快又不行了。分析查看进程发现,后台开启的两个定时任务线程直接消失了。。。查看日志,有段报错,如下:fordb_name,registryinregistries.d.items():RuntimeError:OrderedDictmutatedduringiteration可以定位到问题出现server.py文件中的cron_thread函数上。经过实验发现,python3版本的OrderedDict对象在迭代的过程中如果新增

定时调度框架系列之Quartz.Net详解

一.背景  我们在日常开发中,可能你会遇到这样的需求:"每个月的3号给用户发信息,提醒用户XXX"、"每天的0点需要统计前一天的考勤记录"、"每个月的1号计算上个月的库存情况"、"定时初始化数据供其它业务使用"、"每隔2分钟轮询查数据库看某业务是否被审核通过,并提示用户" 等等。  以上需求在开发中都非常常见,但它们仅仅属于低端一点的需求,稍高端一点的需求比如:"客服派车给调度,如果调度3天内没有执行任何操作,需要提示调度要抓紧派车了",到这一步为止看起来和上面的需求并没有什么两样,但如果我要求,系统管理员可以动态配置提示时间呢?即管理员可以配置调度几天没有执行任何操作,系统需要给出提示。这么

定时调度框架系列之Quartz.Net详解

一.背景  我们在日常开发中,可能你会遇到这样的需求:"每个月的3号给用户发信息,提醒用户XXX"、"每天的0点需要统计前一天的考勤记录"、"每个月的1号计算上个月的库存情况"、"定时初始化数据供其它业务使用"、"每隔2分钟轮询查数据库看某业务是否被审核通过,并提示用户" 等等。  以上需求在开发中都非常常见,但它们仅仅属于低端一点的需求,稍高端一点的需求比如:"客服派车给调度,如果调度3天内没有执行任何操作,需要提示调度要抓紧派车了",到这一步为止看起来和上面的需求并没有什么两样,但如果我要求,系统管理员可以动态配置提示时间呢?即管理员可以配置调度几天没有执行任何操作,系统需要给出提示。这么

【odoo】【知识杂谈】单一实例多库模式下定时任务的问题分析

欢迎转载,但需标注出处,谢谢!背景:有客户反应有个别模块下的定时任务没有正常执行,是否是新装的模块哪些有问题?排查后发现,客户是在一台服务器上跑着一个odoo容器,对应多个数据库。个别库的定时任务是正常的,但是一个对接其他平台的库的定时任务没有正常跑起来。先说结论,看官没时间支持按说明处理即可,分析过程在下面。结论在odoo的配置文件db_name字段配置希望后台一直跑着的库名称字符串,以英文“,”分割。分析直接源码看odoo日志,我们知道odoo的任务正常执行时会打印StartingJob任务名称,直接vscode全局查找,定位到ir_cron.py文件的_process_jobs函数。@c