第九节: 利用RemoteScheduler实现Sheduler的远程控制   一. RemoteScheduler远程控制 1. 背景: 在A服务器上部署了一个Scheduler,我们想在B服务器上控制这个Scheduler. 2. 猜想: A服务器上的Scheduler需要有地址.需要有端口.需要有名称(实际上也是如此). 3. 需求: 一个控制台程序作为服务端运行A服务器上(也可以部署成服务),用另一个B服务器上的Web端控制来控制这个Scheduler的暂停.继续等操作. 4. 具体实现…
一. 五大构件 引言: Quartz.Net的五大构件 1.  调度器:Scheduler 2.  作业任务:Job 3.  触发器: Trigger 4.  线程池: SimpleThreadPool 5.  作业持久化:JobStore 二. Scheduler详解 1. 创建Scheduler的两种方式 (1). 直接通过StdSchedulerFactory类的GetDefaultScheduler方法创建 (2). 先创建StdSchedulerFactory,然后通过GetSched…
一. 简介 1. 几个类型: ①:TriggerBuilder:用来创建ITrigger实例 ②:ITrigger:触发器实例 2.常用的几个方法 ①.StartNow:Trigger马上触发. ②.StartAt和EndAt:设置Trigger触发的开始时间和结束时间 (省略设置开始时间的话,默认从当前时间开始执行) ③.UsingJobData:给Trigger添加一些附加值(通过context.Trigger.JobDataMap获取) ④.WithDescription:用来描述该触发器…
整体示意图: 1.DefaultThreadPool 如果不存在PropertyThreadPoolType,那么就使用DefaultThreadPool var threadPoolTypeString = cfg.GetStringProperty(PropertyThreadPoolType).NullSafeTrim(); if (threadPoolTypeString != null && threadPoolTypeString.NullSafeTrim().StartsWi…
一. 简介 揭秘: SimpleThreadPool是Quartz.Net中自带的线程池,默认个数为10个,代表一个Scheduler同一时刻并发的最多只能执行10个job,超过10个的job需要排队等待. 二. 四种配置方案 1. NameValueCollection的方式 需要利用StdSchedulerFactory的构造函数进行传进去,向哪个Sheduler中传,即配置哪个Sheduler的对应的线程池. 代码分享: { var pairs = new System.Collectio…
一. WithSimpleSchedule(ISimpleTrigger) 1. 用途:时.分.秒上的轮询(和timer类似),实际开发中,该场景占绝大多数. 2. 轮询的种类:永远轮询和限定次数轮询. 3. 参数中的几个函数: A.执行间隔: ①.WithInterval(TimeSpan timeSpan):通用的间隔执行方法 ②.WithIntervalInHours(int hours):以小时为间隔单位进行执行 ③.WithIntervalInMinutes(int minutes):…
前序:      我们已经在前面的内容能里看到了,我们用 Scheduler 来管理我们的 Job:创建并关联触发器以使 Job 能被触发执行:以及如可选择 calendar 为给定的时程安排提供更多的灵活性. 1.Quartz 调度器的介绍      调度器(Scheduler) 是Quartz 框架的心脏,Scheduler也是 Quartz 的主要 API.对于 Quartz 用户来说,多数时候与框架的交互是发生于 Scheduler  之上的.客服端与 Scheduler 交互是通过 o…
所有方法图: 1.Create.Build Create:创建一个TriggerBuilder Build:生成Trigger var trigger = TriggerBuilder.Create().Build(); 底层实现 /// <summary> /// Create a new TriggerBuilder with which to define a /// specification for a Trigger. /// </summary> /// <re…
Quartz.NET是一个非常强大的作业调度框架,适用于各种定时执行的业务处理等,类似于WINDOWS自带的任务计划程序,其中运用Cron表达式来实现各种定时触发条件是我认为最为惊喜的地方. Quartz.NET主要用到下面几个类: IScheduler --调度器 IJobDetail --作业任务 ITrigger --触发器 如果我们自己采用Timer来写类似的定时执行任务程序的话,相应的我们应该有:(以下均为设想,目的是让大家搞清楚Quartz.NET上面三个接口的关系) Schedul…
§ 视图与数据关联 本文配套视频地址: https://v.qq.com/x/page/z0554wyswib.html 开始前请把 ch3-3 分支中的 code/ 目录导入微信开发工具 首先 首先我们要做的是什么呢?直接写模板逻辑吗?不是,给用户以良好的提示是很重要的,所以,我们要做的第一件事就是,加载中... 这里我们采用官方 loading 组件,所以现在就可以直接拿来用了. 修改 index.wxml,增加 loading 组件.很明显,变量 hiddenLoading 控制着它的展示…