- 软件介绍
- 相关专题
- 下载地址
ScheduleMaster简介
ScheduleMaster提供分布式任务调度功能,可以帮助用户在软件中配置工作计划,使得复杂、多线程的任务运行更加顺畅。对于需要搭建任务调度系统的朋友非常有帮助。可以在软件中管理设备,建立设备任务执行流程,设置任务依赖和触发条件,实时监控项目运行过程,在软件中查看运行状态,实时监控报警项目,让用户可以更远程、更多。ScheduleMaster您可以快速创建新的工作任务,您可以控制任务的开始和停止,您可以设置异常报警提醒方案,您可以统计计划任务并提供许多功能!
ScheduleMaster软件功能
基于。NET Core 3.1平台,它支持跨平台多节点部署和运行。
简单的网络用户界面;
任务动态管理:创建、启动、停止、暂停、恢复、删除等。
高可用性支持,跨平台多节点部署。
数据安全,不会有多实例并发调度。
支持自定义参数设置;
支持。NET核心和。NET框架(4 . 6 . 1+);
支持自定义配置文件和热更新;
支持监护人,运行异常时邮件报警;
支持设置任务依赖、自动触发、共享任务结果;
插件开发,任务运行环境隔离;
全链路日志系统,便于控制运行轨迹;
用户访问控制;
提供开放的REST API,业务系统可以无缝集成;
调度报表统计;
任务分组管理;
计划拆分,实现复用;
指定节点操作;
支持http任务配置;
支持延迟的任务;
任务监控;
资源监测;
支持异常策略配置(失败的重试、超时控制等)。);
访问redis缓存;
多数据库类型支持;
用户权限更加细化;
完善的报表统计;
ScheduleMaster软件特色
1.ScheduleMaster可以帮助用户配置任务调度方案。
2.可以设置工作方案,安排复杂的数据访问流程。
3.支持系统配置功能,可在软件中针对节点和响应模式进行设置。
4.支持邮件功能,可以在软件中配置邮件提醒方案。
5.支持HTTP设置功能,可以设置HTTP任务执行的超时。
6.可以在软件中配置任务,也可以添加任务节点。
7.支持参数配置,在软件中设置任务配置方案和参数。
8.支持动态参数启动、配置文件启动和日志跟踪。
ScheduleMaster教程
一、部署模式介绍
因为。NET Core天生对云原生支持友好,这个项目为各种部署场景提供了多种简单有效的方式。
从不同的角度来看,它支持不同的形式。
–从应用配置来看:支持* *静态配置文件* *和* *运行时动态参数* *。
–根据应用启动角度:支持* *自动注册模式* *和* *手动连接模式* *。
以上方法相互结合,相辅相成。
稍微解释一下这个项目涉及的核心概念:
–**主* *:系统的主控制台是ASP.NET Core MVC的一个web应用,是所有任务和节点的控制中心,是用户与调度系统的交互窗口。
–**工作者* *:任务执行者,即实际执行任务的载体,由主控方通过HTTP进行管理。
–* *节点* *:运行主进程或工作进程的网络进程。为了使系统运行,必须至少启动两个节点,即一个主节点和至少一个工作节点。
& gt请注意,主数据库和工作数据库必须使用相同的数据库。
# # #静态配置文件启动
这是项目前期唯一支持的启动方式。在节点启动之前,通过修改在configuration appsettings.json中指定的配置项‘NodeSetting’的参数来实现节点配置。
在自动注册模式下,这些配置将在数据库中注册,并成为节点间相互访问的基础。
在手动连接模式下,配置将无效,节点之间的访问完全取决于控制台中手动的配置。
& gt需要注意的是,Master只提供自动注册模式,即参数必须配置后才能启动,Worker可以支持上述两种模式,下同。
这种启动方式适用于节点数量不多,使用传统部署方式的场景。
# # #动态参数启动
在很多场景下,使用配置文件并不是一个好的解决方案,尤其是参数中的IP和端口不容易提前预定。通常在使用Docker部署时,需要根据不同的配置文件生成不同的映像,或者使用Kubernetes来扩展和收缩节点非常不方便,让人难以忍受。
为了完全适应容器的部署,我设计了动态参数启动模式,支持使用运行时参数改变节点配置。
在自动注册模式下,可以使用命令行参数覆盖对应的配置文件参数,对应的参数名称为:`& # 8211;身份`、` & # 8211;ptocol `、` & # 8211;ip `、` & # 8211;港口`、` & # 8211;poty `、` & # 8211;Maxc,这个模式还是要看配置文件,但是动态参数优先级更高。
在手动连接模式下,节点取决于控制台中的配置。**但是,必须使用动态参数告诉应用程序禁用自动注册* *。有以下两种方式:
–使用环境变量设置**`CORE_AUTOR=false`**和**`CORE_WORKEROF=您的主节点名`**。
–使用命令行参数设置* * `& # 8211;Tor=false`**和* * `& # 8211;Workef=您的主节点名称` * *。
有了动态参数,我们可以使用Docker映像,并且可以使用不同的启动参数部署多个节点。手动连接方式,使用Kubernetes进行节点的弹性伸缩非常方便。
* *默认情况下,系统在配置文件和自动注册模式下启动。
二、动态参数启动
请参考“概要启动”的步骤,首先获取项目的发布文件。
动态参数对自动注册模式和手动连接模式都有效,下面介绍这两种模式的用法。
# # #自动注册节点
这是系统的默认启动模式,适用于主机和工作机,除非明确禁用。
禁用的方式是使用环境变量**`CORE_AUTOR=false`**或命令行参数* * `& # 8211;Tor=false`**,禁用时,必须指定要连接的主节点的名称:**`CORE_WORKEROF=您的主节点名称` **或* * `& # 8211;Workef=您的主节点名称` * *。注意:禁用仅对工作者部署有效!
自动注册模式支持profile+命令行参数的配置模式。如果设置了命令行参数,相应的配置文件参数将被覆盖。
# # # #在窗口中运行
演示如何使用命令行参数覆盖配置文件中的IP和端口字段(假设配置文件中的IP是localhost,端口是100):
*找到Master的发布目录并执行命令` dot net hos。ScheduleMaster。web.dll & 8211;IP = 192 . 168 . 8 . 27 & # 8211;端口=30000 '启动程序。
*找到Worker的发布目录,执行命令` dot net hos。ScheduleMaster。Quartzhost.dll & 8211;URL http://*:30001 & # 8211;identity = worker1 & # 8211IP = 192 . 168 . 8 . 27 & # 8211;端口=30001 '启动程序。
“`
*或者在此Worker的发布目录中,执行命令` dot net hos。ScheduleMaster。Quartzhost.dll & 8211;URL http://*:30002 & # 8211;identity = worker2 & # 8211IP = 192 . 168 . 8 . 27 & # 8211;端口=30002 '您可以启动另一个工作进程。
“外壳
“`
打开Master控制台,进入节点管理页面,发现命令行参数已经生效。
# # # #在Linux中运行
执行与上面相同的步骤。
# # # #在Docker中运行
*执行“Docker构建-t MS _ Master”。命令,以生成主映像,然后执行“docker run-d-p 30000:30000 & # 8211;名称= & # 8221;mymaster & # 8221ms _ master bash & # 8211IP = 192 . 168 . 8 . 27 & # 8211;端口=30000 '运行容器。
“外壳
[ot @ master 1 ms _ master]# docker run-d-p 30000:30000 & # 8211;名称= & # 8221;mymaster & # 8221ms _ master & # 8211IP = 192 . 168 . 8 . 27 & # 8211;端口=30000
3 bbbec 2398d 9147 F9 aa 1 d9 e 57 a 4741385 ffd 33558 f 83320d 62 a 92d 011 e 9 aa 143
“`
*执行“Docker构建-t MS _ Worker”。命令在工人的发布目录中生成工人图像,然后执行` docker Run-D-p 30001:80 & # 8211;名称= & # 8221;myworker1 & # 8243ms _ worker bash & # 8211identity = docker-worker 1 & # 8211;IP = 192 . 168 . 8 . 27 & # 8211;端口=30001 '运行容器以开始工作1。
“外壳
[ot @ master 1 ms _ worker 1]# docker run-d-p 30001:80 & # 8211;名称= & # 8221;myworker1 & # 8243ms _ worker bash & # 8211identity = docker-worker 1 & # 8211;IP = 192 . 168 . 8 . 27 & # 8211;端口=30001
5e 446997 d4a 28 B3 c6ec 0708 a 88d 42 a4 D6 baad 1 e5d 5a e 686d 88 c 03 e 99 C4 e 2003 f
“`
*继续执行` docker Run-D-p 30002:80 & # 8211;名称= & # 8221;myworker2 & # 8243ms _ worker bash & # 8211identity = docker-worker 2 & # 8211;IP = 192 . 168 . 8 . 27 & # 8211;端口=30002 '运行容器以开始工作2。
“外壳
[ot @ master 1 ms _ worker 2]# docker run-d-p 30002:80 & # 8211;名称= & # 8221;myworker2 & # 8243ms _ worker bash & # 8211identity = docker-worker 2 & # 8211;IP = 192 . 168 . 8 . 27 & # 8211;端口=30002
0ca d 44660657d 2251 e 71 b 73 a 46189117 ec3 aad 1445 c 5176276d 32 fa 06360d 56 e
“`
*执行“dockerps”检查每个容器的运行状态,如果容器不起作用,则记录该容器。
可以看出,不需要为不同的Worker重复生成图像。如果不使用容器编排工具进行部署,上面的方法就足够了。
# # #手动连接模式
手动连接模式需要解决的核心问题是那些无法提前预测IP和端口以及Worker平滑伸缩的场景,每个容器(应用)仍然需要使用命令行参数单独配置,使用Kubernetes Deployment进行伸缩仍然不方便。
此时,可以禁用自动注册,并通过手动连接建立与Worker的通信。下面只描述Windows下的用法,其他平台也差不多。
*第一步是启动工作进程:
“外壳
“`
*第二步是在控制台中创建一个节点(注意这里的主机地址需要填写Worker实际监听的地址):

*第三步:在节点上执行“连接”,可以看到节点连接成功:
“外壳
信息:Hos。ScheduleMaster. Quartz host . contallers . Quartz contller[0]
成功连接到主节点!
“`
连接成功后,节点空闲,可以启用节点启动调度功能。
& gt提示:对于这种部署场景,最好的方法是通过在项目类属中设置环境变量(或者在Dockerfile中设置环境变量)来完全禁用自动注册,这样就不必每次都通过命令行参数来禁用它。
第三,编写业务代码
只有在组装任务下,才需要编写自己的业务代码。虽然这种方法实现起来比较麻烦,但是更加灵活。
访问过程是:*安装依赖包->;开发业务代码->;打包并上传->;创建任务* *
# # #安装依赖包
–手动添加引用程序集文件` hos。ScheduleMaster。编译项目后的base.dll`。
–在nuget中搜索`ScheduleMaster`直接安装到项目中。
–在软件包管理控制台中使用“install-packageScheduleMaster `install”。
–使用` dotnet add packageScheduleMaster`在命令行上安装。
# # #开发业务代码
业务代码类必须从任务基类“hos”继承。ScheduleMaster。基地。Taskbase `,其中image方法` public abstract void run(Taskbontext);是业务执行门户,所以只需要重写这个image方法。
下面是最简单的例子:
# # # #使用自定义配置文件:
“`
# # # #父子任务结果转移:
# # # #取消长时间任务:
“`
有关更多代码示例,请参考。ScheduleMaster。源代码中的演示项目。如果你找到了更好的使用场景,请提到PR和我们分享。
# # #打包并上传
业务开发完成后,需要将项目编译成dll文件,将与业务相关的dll文件和配置文件打包成. zip压缩包,以项目名称为文件名。您可以选择两种上传方式:
–当控制台创建任务时,通过上传门户上传包。
–使用文件传输方法将包上传到主进程的`/wwwot/plugins/'目录中,对于大型包,建议这样做。
在打包和更新文件的过程中,有几点需要特别注意:
–包必须以任务所在程序集的名称命名,否则无法启动。
–在一个项目中,开发了多个任务入口,包只需要上传一次,但是要注意上传的版本是否覆盖了你所有的任务。
–任务开始时,默认情况下将加载最新的包。如果不想使用最新版本,可以使用系统参数‘组装任务-拉包策略’进行设置。
–你不需要包括hos。ScheduleMaster。打包时使用base.dll `,否则将无法启动。
–业务要尽量减少对第三方dll的依赖,否则会使包过大,导致启动时出现不可预知的异常。
- 安卓合集
- 软件合集
- 浏览器
- 电脑管家
- 安卓游戏
软件排行榜
热门推荐
-
VMware InstallBuilder Enterprise破解版
v20.12.0 / 347 MB / 简体中文
-
Spark Studio官方版
v2.6.3 / 7.78 MB / 简体中文
-
Yearning SQL审核平台官方版
v2.3.2 / 10.2 MB / 简体中文
-
Protege官方版
v5.5 / 38.3 MB / 简体中文
-
HUAWEI LiteOS Studio官方版
v1.45.6 / 115 MB / 简体中文
-
Huawei LiteOS官方版
v5.0.0 / 87.6 MB / 简体中文
-
C语言代码实例助手官方版
v1.0 / 38.5 MB / 简体中文
-
idle python中文汉化版
v3.7 / 1.62 MB / 简体中文
-
Metabase官方版
v0.37.5 / 45.8 MB / 简体中文
-
编程猫硬件助手官方版
v1.4.1.0 / 39.3 MB / 简体中文
装机必备软件
-
word文档密码破解工具应用软件
-
冰点还原永久免费版系统软件
-
人生日历应用软件
-
一彩送货单管理系统应用软件
-
Process View系统软件
-
开心手机恢复大师其他类别
-
pdf文件阅读器应用软件
-
视频剪辑格式工厂应用软件
-
PhotoMetri应用软件
-
specinker应用软件
-
miwifi驱动驱动工具
-
海洋色音效助手影音软件
-
乐播投屏影音软件
-
seo外链助手网络软件
-
AES安全加密记事本安全相关





