云主机启动Xxl-job,Springboot整合Xxl-job所遇到的问题

#随着项目体量增大,定时任务越来越多,于是需要引入Xxl-job来管理定时任务

1.准备阶段与下载安装

参考文章:

【Linux】Linux下安装XXL-JOB(图文解说详细版)_linux安装xxl-job-CSDN博客

本人版本2.3.1。

2.问题

问题1.xxl-job remoting error(connect timed out), for url : http://116.198.216.5:9999/run

排除完IP地址填写错误的情况。

当两台云服务器分别运行xxl-job项目和spring boot项目时,出现远程连接超时问题。

1.可以两个Linux服务器先互相 ping,看是否ping通。如果ping通,则表示双方网络正常。

2.使用 telnet ip port 的方式,测试端口是否正常使用。

例如我执行器端口为9998,则需要确保运行spring boot项目的服务器开发9998端口

telnet xxx.xx.xx.xxx 9998

 成功则显示

Trying xxx.xx.xx.xxx...
Connected to xxx.xx.xx.xxx.
Escape character is '^]'.

 Linux需提前下载telnet

sudo yum install telnet -y
问题2.code=500, msg=The access token is wrong., content=null

当xxl.job.accessToken为空时,执行任务会出现code=500, msg=The access token is wrong., content=null的问题,可将accessToken设为合适字符串,不能为空,其它执行器都需要统一accessToken

问题3.xxl-job remoting server error.Address already in use: bind

起初以为真是端口占用,看文章发现是 2.2.0以上版本不用在注册XxlJobSpringExecutor的bean加上(initMethod = "start", destroyMethod = "destroy")。

问题4.在任务管理中,手动触发任务可以执行成功,通过cron触发会出现执行失败的情况。

可能有多个Xxl-job项目都连接相同数据库,关闭其它Xxl-job项目。

3.小tips

当Linux启动Xxl-job项目时,如果修改了项目的配置文件,需要重启项目让配置生效,每次杀死应用再运行项目有些麻烦,可以通过脚本一键重启。

# 查找进程名称
process_name="xxl-job"

pid=$(ps aux | grep "$process_name" | grep -v grep | awk '{print $2}')

if [ -z "$pid" ]; then
    echo "未找到进程: $process_name"
else
    echo "找到进程ID: $pid"

    # 结束进程
    kill -9 $pid
    echo "进程 $pid 已被终止"
fi


nohup java -jar xxl-job-admin/target/xxl-job-admin-2.3.1.jar &

nohup java -jar xxl-job-executor-samples/xxl-job-executor-sample-springboot/target/xxl-job-executor-sample-springboot-2.3.1.jar &

图中my-job.sh文件,放在安装目录下,且赋予执行权限,注意修改jar包的包名对应自己的版本号。

chmod +x my-job.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值