【xxl-job】分布式任务调度系统xxl-job执行器自动启动

XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展、开箱即用。

更多介绍,请访问官网:分布式任务调度平台XXL-JOB

【xxl-job】分布式任务调度系统xxl-job执行器自动启动_第1张图片

在【xxl-job】分布式任务调度系统xxl-job搭建中,我们讨论了如何手动启动运行xxl-job执行器。然而,每次开机或重启都需要手动操作,这可能会变得很麻烦。为了解决这个问题,我们可以使用systemd将xxl-job执行器作为后台服务来运行。

下面是一些将xxl-job执行器设置为systemd服务的步骤:【运行环境:Ubuntu 22.04】

  1. 创建一个新的service文件:打开终端,并使用vim编辑器创建一个新的service文件。
sudo vim /etc/systemd/system/xxljobagent.service
  1. 进入编辑模式:在vim中按下字母i进入编辑模式。
  2. 编辑service文件:将以下内容粘贴到文件中,注意替换为你自己的项目路径、JAR文件名以及应用程序名称:
[Unit]
Description=XXL-Job Agent Service
After=network.target

[Service]
User=root
Group=root
ExecStart=/usr/bin/java -jar /path/to/xxl-job-executor-sample-springboot.jar --spring.config.location=/path/to/application.properties
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

以上是一个典型的 systemd 服务单元文件的配置示例,下面是对每一行的解释:

  • [Unit]:单元部分定义了服务单元的整体信息。

    • Description=XXL-Job Agent Service:服务的描述信息,即服务的简短描述。
    • After=network.target:定义了服务在网络启动之后才会被启动。
  • [Service]:服务部分定义了服务的运行方式和参数。

    • User=root:以 root 用户的身份运行服务。
    • Group=root:以 root 用户组的身份运行服务。
    • ExecStart=/usr/bin/java -jar /path/to/xxl-job-executor-sample-springboot.jar --spring.config.location=/path/to/application.properties:定义了服务的启动命令,其中 /usr/bin/java 是 Java 的可执行路径,/path/to/xxl-job-executor-sample-springboot.jar 是 XXL-Job Executor 的可执行 JAR 文件路径,--spring.config.location=/path/to/application.properties 是指定的配置文件路径。
    • SuccessExitStatus=143:定义了成功的退出状态码,当服务以 143(SIGTERM 信号)退出时被视为成功退出。
  • [Install]:安装部分定义了服务的安装信息。

    • WantedBy=multi-user.target:将服务添加到 multi-user.target 具有多用户模式的目标中,以便在系统启动时自动启动该服务。
  1. 保存并退出:按下Esc键退出编辑模式,然后输入:wq保存文件并退出vim。
  2. 启用systemd服务:运行以下命令来启用你刚才创建的service文件:
sudo systemctl enable xxljobagent
  1. 启动服务:运行以下命令来启动服务:
sudo systemctl start xxljobagent

现在,xxl-job执行器已经作为一个后台服务在systemd中运行了。它将会在系统启动时自动启动,并且在遇到错误或异常情况时会自动尝试重新启动。你可以使用其他systemd命令来管理服务,例如停止、重新启动或查看服务状态:

停止服务:sudo systemctl stop xxljobagent
重新启动服务:sudo systemctl restart xxljobagent
查看服务状态:sudo systemctl status xxljobagent

PS:
如果对服务配置文件有修改,修改后需要执行systemctl daemon-reload重新加载 systemd 守护进程的配置文件,以使对配置文件的更改生效。

你可能感兴趣的:(Ubuntu,Linux,分布式,ubuntu,开源软件,开源,运维,自动化)