Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

动态添加任务? #277

Closed
lengrongfu opened this issue Jan 20, 2018 · 11 comments
Closed

动态添加任务? #277

lengrongfu opened this issue Jan 20, 2018 · 11 comments

Comments

@lengrongfu
Copy link

Please answer some questions before submitting your issue. Thanks!
我想要一个可以动态添加定时任务的功能。比如,在商城系统中,一个人下单之后,就要触发一个定时任务,30分钟之后去检查这个订单是否支付,如果没有支付就取消订单这种动作,就是每个任务的定时都不固定,这里面有这个功能吗?

Which version of XXL-JOB do you using?

1.9.0

Expected behavior

动态添加任务

Actual behavior

Steps to reproduce the behavior

Other information

@18099538715
Copy link

如果不是对时间精确到秒的话,可以10秒执行一次订单查询,将创建时间超过30分没有支付的订单取消

@Ryan-Miao
Copy link

我也觉得这种定时查询比单独定时任务好。+1

@xuxueli
Copy link
Owner

xuxueli commented Feb 22, 2018

你好,感谢关注和反馈!
我也同意 @18099538715 @Ryan-Miao 的方案,单用JOB周期性轮训更合适。

如果一定想要动态创建任务也是支持的,可以参考调度中心API服务 “AdminBiz” 将JobService暴露为RPC服务,从而在业务代码中动态创建和操作。

上面提供的是JOB的解决方案,不过,也存在MQ的解决方案,可以了解下 XXL-MQ ,它支持消息延迟消费,可通过其提供的延迟消息功能来实现对应功能。

@talywy
Copy link

talywy commented Apr 28, 2018

@xuxueli 你好,我参考AdminBiz的方式将XxlJobService暴露为了RPC服务,但是XxlJobService接口的定义目前是在xxl-job-admin工程中而非xxl-job-core工程, 这样不便于业务上包的引用集成。 建议是否有可能把该接口定义迁移到xxl-job-core中。如果可以的话,我可以抽些时间来进行相关代码编写,补充对应的单元测试等。PS:类似的建议如, #334

@xuxueli
Copy link
Owner

xuxueli commented Apr 28, 2018

你好,感谢反馈!
这个功能已经在迭代中,将会在下个版本发布!

@xuxueli xuxueli mentioned this issue Apr 28, 2018
@shyding
Copy link

shyding commented Jul 19, 2018

@xuxueli 我想请问一下 ,能够加入执行器的批量自发现功能? 每次要手动添加,感觉这样任务也很重呀

@JarryHe
Copy link

JarryHe commented Sep 13, 2018

@xuxueli 我查了一下 api 和 TriggerParam 中的参数,按照这个问题描述 如果使用api的方式,也是在订单30分钟后代码触发任务。 而不是在下单时就把任务创建好?

@xuxueli
Copy link
Owner

xuxueli commented Sep 23, 2018

@JarryHe 你好,可以新建一个 30min后执行的任务。可参考任务界面操作的ajax请求。任何ajax接口均可配置成为API服务,只需在待启用的API服务上添加 “@PermessionLimit(limit = false)” 注解取消登陆态拦截即可;

你的这种需求推荐实用延迟队列实现,推荐 XXL-MQ,非常适合你订单超时取消的业务场景。

@xuxueli xuxueli closed this as completed Sep 23, 2018
@xuxueli
Copy link
Owner

xuxueli commented Sep 23, 2018

@shyding 你好,目前以及支持了执行器自动注册功能,不过需要事先添加执行器用于过滤无效的注册信息。

@xuxueli xuxueli reopened this Sep 23, 2018
@xuxueli xuxueli closed this as completed Sep 23, 2018
@staycolorful
Copy link

staycolorful commented Oct 28, 2019

@xuxueli 你好,我参考AdminBiz的方式将XxlJobService暴露为了RPC服务,但是XxlJobService接口的定义目前是在xxl-job-admin工程中而非xxl-job-core工程, 这样不便于业务上包的引用集成。 建议是否有可能把该接口定义迁移到xxl-job-core中。如果可以的话,我可以抽些时间来进行相关代码编写,补充对应的单元测试等。PS:类似的建议如, #334

你好,是否遇到过XxlJobInfo must implement java.io.Serializable这个问题呢??

@Maijh97
Copy link

Maijh97 commented Sep 14, 2021

你好,感谢反馈!
这个功能已经在迭代中,将会在下个版本发布!

请问一下,这个功能的迭代发布了吗?现在最新的2.3.0版本还是不能在xxl-job-core使用XxlJobService哦

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants