springcloud技术栈系列4:分布式定时任务
问题 回答
-
xxljob支持自定义http接口来添加调度任务吗?
.
支持的,我们基于低代码的实际场景,封装成了openfeign的接口,这实际上也是一种http接口,我们封装了两个接口,一个用来增加和更新调度任务,一个用来修改任务的状态,即启用,停用,删除; -
xxljob是否支持某个时间点固定执行的场景?
xxljob的调度任务不直接支持按照某个时间点来调度任务,只提供了CRON表达式 和固定间隔的调度类型,但是我们可以灵活的实现这个场景:你可以把你的调度时间点放在参数中,在执行器代码中结合该参数进行判断,然后配置一个更密集的调度频次,通过cron或者固定间隔;
3.在线编写执行器脚本是否支持脚本语言比如python比java更合适一些?
在线编码的语言选择以业务需要为准,xxljob本身是支持了java,groovy,python,nodejs语言来编写,脚本语言的运行依赖与执行器的本地环境必须具备执行脚本的条件,它会生成脚本,然后执行shell指令来调用脚本文件,然后处理好入参和返回参数;
- 广告投放场景:通过广告API提交广告(有返回ID),在1小时后查询这个广告的审核状态,审核完成做一下操作,如果还在审核中就再延后1小时查询,广告平台审核,不是我们内部审核,不能确定审核时长和结果。需要延时可以任意设置。
这个用延迟队列+监听来实现更合适一些,xxljob在这种场景使用起来不太灵活,redisson的延迟队列实现案例可以参考一下。
视频观看:
原创不易,关注诚可贵,转发价更高!转载请注明出处,让我们互通有无,共同进步,欢迎沟通交流。