.NET Core开源Quartz.Net作业调度框架实战演练

一、需求背景

人生苦短,我用.NET Core!作为一枚后端.NET开发人员,项目实践常遇到定时Job任务的工作,在Windows平台最容易想到的的思路Windows Service服务应用程序,而在Linux系统中一般会采用Crontab程序,PM2、Supervior等进程管理工具来解决宿主托管问题。今天给阿笨大家分享一种Docker容器化快速部署的方式来实现.NET Core后台定时任务托管在Linux操作系统中。

目前在.NET Core开发后台定时任务有两种实现方式:

1、采用AspNetCore自带的HostService, 这是一个轻量级的后台服务, 需要搭配timer完成定时任务。在前面的《ASP.NET Core Windows服务开发技术实战演练》课程阿笨已经给大家分享了。

优点:宿主在Web应用程中,托管方式简单灵活。

缺点:1)、作业调度计划比较单一。2)、与Web应用程序糅合度太高。

2、采用第三方开源的Quartz.Net组件,支持简单、复杂灵活的调用作业计划。比较适合我们项目中有大量的业务需求需要使用作业计划。

优点:1)、作业调度计划丰富。2)、与Web应用程序解耦。

缺点:如果采用第三方进程管理工具来实现托管方式,配置繁琐且不易统一管理。推荐采用Docker容器化技术来实现宿主托管。

1.1、本课程适合人群如下:

1)、有一定的.NET Core开发基础。

2)、学习和了解.Net Core跨平台开发技术。

3)、喜欢阿笨分享的干货课程童鞋们。

本课程不是零基础教学,大家务必根据自身的实际情况进行选择学习。如果您在学习过程中遇到任何的课程问题,请先私下直接找阿笨老师进行在线的沟通和交流。谢谢大家的理解和支持,预祝大家学习快乐!

1.2、一句话总结今天我们学习达到的目标?

如何利用Docker容器化技术快速部署实现宿主托管我们的后台定时作业调度任务。

如果您同样对本次分享《.NET Core开源Quartz.Net作业调度框架实战演练》课程感兴趣的话,那么请跟着阿笨一起学习吧。废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。

二、Quartz.Net组件在.NET Core中的实战项目应用

.NET Core开源Quartz.Net作业调度框架实战演练
.NET Core开源Quartz.Net作业调度框架实战演练


.NET Core开源Quartz.Net作业调度框架实战演练

Quartz.Net的更多详细使用,大家感兴趣可以观看一下阿笨早期分享的《.NET开源作业调度框架实战项目演练》课程。

三、如何采用Dockerfile将构建制作.NET Core应用程序镜像

Docker它很火,作为开发人员有必要去学习和了解。

实现方法:如何采用Dockerfile将构建制作.NET Core应用程序镜像

1)、把源码复制到宿主机中进行编译、打包,最后并制作容器镜像。(不推荐使用)

2)、将打包、编译好的文件直接复制到宿主机中,制作容器镜像。(实际项目中推荐使用)

四、Docker挂载宿主机日志输出目录到容器中

如何将.NET Core输出日志文件通过 Docker挂载宿主机日志输出目录到容器中   

实际项目中我们的运行的后台作业任务时候总会产生一些日志,这时候可以把应用程序在容器中的日志文件夹挂载到宿主机上,方便查看和采集,当然更多的情况推荐采用是采用集中式分布式日志框架ELK,这个就不是本篇所讨论的了。

在启动Docker镜像时,Docker允许我们通过使用-v参数挂载宿主机的文件到容器的指定目录下。换句话说,就相当于宿主机共享指定文件供容器去访问。 

五、思考与总结

.NET Core开源Quartz.Net作业调度框架实战演练
.NET Core开源Quartz.Net作业调度框架实战演练


.NET Core开源Quartz.Net作业调度框架实战演练
不信的话,扫一扫
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值