[xuxueli/xxl-job]【自动创建定时调度任务】业务服务器API

2024-05-15 904 views
8

1.9.2

如:创建订单30分钟后自动取消订单、1天后红包过期等!

涉及大量的定时任务添加与撤销 目前部署服务:xxl-job-admin、xxl-job-executor-sample-springboot

查看了文档,发现没有相关的详细说明,感觉很疑惑,无从下手。

api

如:5.11.2 提供给业务的API服务描述

回答

4

这个API试了一下一直报错:请选择执行器! 你们也是这个错误?

1

这个API试了一下一直报错:请选择执行器! 你们也是这个错误?

API倒是没问题。执行器选择你注册的就OK了。 但应该没有像死信队列,过期队列这样的功能。无法达到我想要的效果.

5

API倒是没问题。执行器选择你注册的就OK了。 但应该没有像死信队列,过期队列这样的功能。无法达到我想要的效果. 请问可以提供一下请求的报文数据吗?我试试。。。

4

API倒是没问题。执行器选择你注册的就OK了。 但应该没有像死信队列,过期队列这样的功能。无法达到我想要的效果. 请问可以提供一下请求的报文数据吗?我试试。。。

目前调度中心已经被我关闭了,我打算采用redis或RabbitMQ实现,如果后续有调度需求会再次集成,听说springboot版本的调度中心也在进程中了。 关于你这个问题,需要注意的一个点,就是调用API需要关闭登录拦截,你注册的项目便是执行器。

9

image 不知道这个报文有啥错呢? 已经关闭了登录拦截, @RequestMapping("/add") @ResponseBody @PermessionLimit(limit = false) public ReturnT add(XxlJobInfo jobInfo) { return xxlJobService.add(jobInfo); }

7

image 不知道这个报文有啥错呢? 已经关闭了登录拦截, @RequestMapping("/add") @responsebody @PermessionLimit(limit = false) public ReturnT add(XxlJobInfo jobInfo) { return xxlJobService.add(jobInfo); }

如果你是要查看正确的请求报文,你可以进入调度中心admin,手动添加一个任务,查看浏览器的请求报文即可。 按照目前调度中心的设计,是不建议调用API添加任务的。 如果是要实现像:30分钟后自动取消订单诸如此类的功能。 可以考虑采用RabbitMQ的死信队列或者redis的过期消息监听

5

@yl-yue 谢谢回复。已经解决问题了,是请求的参数类型问题。

9

请问请求参数类型问题,具体是哪个参数什么类型。有成功的json报文吗? 我也类似以上问题。

我们这边的业务场景是:需要随机指定一些设备,让其在某些指定时间点执行一些命令。以下是我的请求报文:

{ "jobGroup": 25, "jobDesc": "test111", "executorRouteStrategy": "FIRST", "jobCron": "0 0/2 * ?", "glueType": "BEAN", "executorHandler": "testXxlJob", "executorBlockStrategy": "SERIAL_EXECUTION", "author": "wgx", "glueRemark": "GLUE代码初始化" } 看了管理端的源码,提示这个错误有个是这里请求的jobGroup从数据库中查询信息结果是null image

但是我在调度中心看到的组ID应该是一样的:

image


自己回复: 找到原因了。http请求方式不用用json格式。要使用 表单方式

image

9

赞! 不过 “30min 超时取消订单” 这种需求,推荐以MQ的方式实现的。 在此推荐 XXL-MQ,分布式消息队列,支持延迟消费,自定义重试次数等。