一、需求背景
人生苦短,我用.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 Core开源Quartz.Net作业调度框架实战演练的更多相关文章
-
Quartz.NET作业调度框架详解(转)
Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中.它提供了巨大的灵活性而不牺牲 ...
-
Quartz.NET作业调度框架详解
Quartz.NET作业调度框架详解 http://www.cnblogs.com/lmule/archive/2010/08/28/1811042.html
-
Quartz.NET作业调度框架的简单应用
概述 Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)来调度作业.它实现了 ...
-
关于Quartz.NET作业调度框架的一点小小的封装,实现伪AOP写LOG功能
Quartz.NET是一个非常强大的作业调度框架,适用于各种定时执行的业务处理等,类似于WINDOWS自带的任务计划程序,其中运用Cron表达式来实现各种定时触发条件是我认为最为惊喜的地方. Quar ...
-
Quartz.net开源作业调度框架使用详解
前言 quartz.net作业调度框架是伟大组织OpenSymphony开发的quartz scheduler项目的.net延伸移植版本.支持 cron-like表达式,集群,数据库.功能性能强大更不 ...
-
Quartz.net开源作业调度框架使用详解(转)
前言 quartz.net作业调度框架是伟大组织OpenSymphony开发的quartz scheduler项目的.net延伸移植版本.支持 cron-like表达式,集群,数据库.功能性能强大更不 ...
-
.NET开源作业调度框架(Quartz.NET和FluentScheduler)实战项目演练
一.课程介绍 明人不说暗话,跟着阿笨一起玩NET .本次分享课程属于<C#高级编程实战技能开发宝典课程系列>中的一部分,阿笨后续会计划将实际项目中的一些比较实用的关于C#高级编程的技巧分享 ...
-
.net Quartz 服务 作业调度
.net项目中使用Quartz (1)在web.config中进行相关配置 <configSections> <section name="quartz" t ...
-
Quartz.NET开源作业调度框架系列(一):快速入门step by step
Quartz.NET是一个被广泛使用的开源作业调度框架 , 由于是用C#语言创建,可方便的用于winform和asp.net应用程序中.Quartz.NET提供了巨大的灵活性但又兼具简单性.开发人员可 ...
随机推荐
-
服务器RAS性能
服务器的安全性能要求非常高,主要体现在RAS性能上.RAS性能指的是机器的可靠性(Reliability).可用性(Availability)和可服务性(Serviceability).RAS能力主要 ...
-
HDU 4618 Palindrome Sub-Array(DP)
题目链接 我还是图样啊....比赛的时候没敢暴力去搜... #include <cstdio> #include <cstdlib> #include <cstring& ...
-
(1)若当前字符不是大于0的数字字符,则复制该字符于新字符串中; (2)若当前字符是一个数字字符,且它之后没有后继字符,则简单地将它复制到新字符串中; (3)若当前字符是一个大于0的数字字符,并且还有后继字符,设该数字字符的面值为n,将它的后继字符重复复制n+1次到新字符串中; (4)以上述一次变换为一组,在不同组之间另插入一个";_";用于分割(5))若字符串中包含有下划线&#39;_&#39;,则变换为 \UL
package b; import java.util.Scanner; public class Zifuchuan { public static void main(String[] args) ...
-
中文版microbit:TurnipBit显示动态滚动字符教程实例
随着当今社会的发展,社会的进步,家长们越来越忙碌,致使家长们在孩子成长过程中陪孩子的互动的时间越来越少,为此,TurnipSmart公司制作的一款MicroPython开发板--TurnipBit,这 ...
-
char (*p)[]和char *p[]的区别
理解的关键在于: 1. []的优先级高于*,(*p)[]理解为指向一个数组,*(p[])存放指针的数组 2. char (*p)[SIZE]:指向一维数组的指针,一维数组只能有SIZE个元素 char ...
- javaApplication中如何使用log4j
-
linux服务器升级nginx
1.简介 有时候nginx发布了新BUG或者添加了新的功能时,想要更新的时候服务又不能中断,这时候就要用到nginx的平滑升级了. 该脚本同样适用于添加新扩展,添加新扩展的时候只需要把更新的版本修改为 ...
-
spring cloud config配置记录
1. spring cloud config配置记录 1.1. pom <!-- 分布式配置中心 --> <dependency> <groupId>org.spr ...
-
更改WebBrowser控件的用户代理
我试图在Winforms应用程序中更改WebBrowser控件的UserAgent. 我已成功使用以下代码实现此目的: [DllImport("urlmon.dll", CharS ...
-
MySQL 8.0 —— CATS事务调度算法的性能提升
原文地址:https://mysqlserverteam.com/contention-aware-transaction-scheduling-arriving-in-innodb-to-boost ...