一、需求背景

人生苦短,我用.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中的实战项目应

 

 

 

 

 

 

 

 

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

 

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

 

五、思考与总结


【网易云课堂】:点击在线观看

【腾讯课堂】:点击在线观看

【微信公众号】:跟着阿笨一起玩NET