脚本任务是XXL-JOB提供的一种在线脚本任务模式。该模式支持在MSE XXL-JOB控制台直接编写和发布多种语言的脚本,用于动态更新定时任务的业务逻辑,而无需重新部署应用。
脚本任务与BEAN任务对比
|
维度 |
脚本任务 |
BEAN任务 |
|
执行方式 |
fork子进程执行脚本。每次执行都会创建一个独立的进程,存在一定的系统开销。 |
线程内执行。任务作为JobHandler在执行器JVM的线程池中运行,资源共享,开销小。 |
|
资源开销 |
较高。每次执行任务时,执行器fork一个子进程执行脚本,因此相比BEAN任务,资源占用更多。 |
较低。共享执行器应用的JVM资源。 |
|
更新方式 |
在线更新,即时生效。在控制台编辑并保存脚本后即可生效,无需部署。 |
代码变更,重新部署。需要修改Java代码,打包并发布新的执行器应用版本。 |
|
开发效率 |
高。适合需要快速迭代和验证的场景。 |
较低。遵循标准的软件开发和发布流程。 |
|
推荐场景 |
任务调度不频繁的场景,如数据清理、报表生成、API集成等。 |
核心业务逻辑、高频调度任务、复杂计算等。 |
适用范围
-
引擎版本:MSE XXL-JOB版 v2.2.2 及以上版本。
-
支持的脚本语言:Java, Shell, Python, PHP, Node.js, PowerShell。
创建脚本任务
操作步骤
-
登录MSE XXL-JOB控制台,在顶部菜单栏选择地域。
-
在任务调度 > XXL-JOB版页面,单击目标实例。
-
在左侧导航栏的应用管理,然后单击创建应用,应用类型选择普通应用,然后单击确定。
-
接入执行器,推荐使用MSE自研的执行器,支持自定义变量、自定义返回结果等特性。
-
在左侧导航栏选择任务管理,然后单击创建任务。
-
在创建任务页面,选择关联应用,并完成相关配置任务信息。
-
任务类型:根据脚本语言,选择对应的任务类型。
-
脚本内容:此任务执行的脚本代码。
-
-
单击完成。
管理脚本任务
更新脚本
-
在任务管理列表中,找到需要修改的任务。
-
在运行模式列,单击编辑脚本。
-
在编辑脚本窗口中,修改脚本内容,单击确定。
-
在最新版本窗口中,输入版本名称,单击确定。
历史版本对比
-
在任务管理列表中,找到需要修改的任务。
-
在运行模式列,单击编辑脚本。
-
在编辑脚本窗口中,开启版本对比。
-
选择版本名称,查看历史版本与变更内容。