Comments (8)
https://gitee.com/KFCFans/PowerJob/issues/I7LH7D 楼主看看我在gitee上的这个问题是不是就是这个造成的,我确实遇到了任务重复执行
from powerjob.
这就是选择问题了。
PowerJob 选择宁可多调度,也不少调度,所以先确保时间轮提交才写DB。
先写DB,写完DB后执行被中断,就会导致这次任务被跳过,问题更大。
from powerjob.
正常情况 DB 的成功率几乎等于 100%,如果能比较稳定复现大概率不是这个原因,可以看看是不是触发了什么失败重试机制。
from powerjob.
欢迎再深入研究一下
from powerjob.
这就是选择问题了。 PowerJob 选择宁可多调度,也不少调度,所以先确保时间轮提交才写DB。 先写DB,写完DB后执行被中断,就会导致这次任务被跳过,问题更大。
写完DB,后续就是将派发操作推入时间轮了,只是推入时间轮的操作好像没什么会导致中断吧?
from powerjob.
正常情况 DB 的成功率几乎等于 100%,如果能比较稳定复现大概率不是这个原因,可以看看是不是触发了什么失败重试机制。
这个在实际应用过程中表现出来的并不是触发失败重试的机制,这是首次接入powerjob,在本次项目的应用过程中多个场景之下都发现了同一个任务实例被多次调起的问题,准确的来说并不是同一个实例,因为在powerjob的任务实例表里生成了两条除实例id不同外其余数据全部相同的数据,也就是一次任务的派发生成了两条实例数据。比如在gitee提交的https://gitee.com/KFCFans/PowerJob/issues/I7LH7D 这个里面是将客户原有的老系统附加信息迁移到新系统的中,采用的方式先新建一个任务每分钟执行一次,从数据库中取出老系统的附加信息,每次取10条这个样子,取到的附件信息迁移到新系统中每次要将附件先上传到minio然后再处理新系统的附件表,所有是任务套任务的方式,每次取出的10条附件信息又for循环run了一个被禁用的任务,也就是取出10条数据后,再将这10条数据通过动态传参run了另一个任务10次。又比如在另一个场景之下,客户需求上需要批量开房的这种场景,因为开房的这个场景除了自己系统当中业务数据处理,还需要连通第三方厂商提供的服务,单个的开房场景是处理自己业务数据后还需要连通第三方酒店系统、智能门锁系统、短信服务,而客户提出批量需求,所以我们采用的方式是建一个禁用的任务,用户发起批量处理的时候,我们处理完自己的业务数据后,把联动第三方酒店系统生成订单、智能门锁生成房间门锁密码、把密码通过短信服务发送到住户手机上的操作交给这个被禁用的任务去处理,通过run多次这个被禁用的任务动态传参去一个个处理,也会发现run一次但是生成多个任务实例id不同其余全部相同的任务实例数据。综合多个场景下的使用情况,就是当一个任务在短时间内被多次run的时候,那么每次run都有可能产生多个任务实例,重复几率大概有七八成。
from powerjob.
https://gitee.com/KFCFans/PowerJob/issues/I7LH7D 楼主看看我在gitee上的这个问题是不是就是这个造成的,我确实遇到了任务重复执行
看了你的问题,和我说的不是一个问题。我这边描述的是定时调度的场景,而你的问题是通过api主动调起的。
看你的问题,定时调度job-118只生成了1个实例,是正常的,但是通过api调起的119却生成了2个实例。这要结合你119的任务信息去排查了
from powerjob.
https://gitee.com/KFCFans/PowerJob/issues/I7LH7D 楼主看看我在gitee上的这个问题是不是就是这个造成的,我确实遇到了任务重复执行
看了你的问题,和我说的不是一个问题。我这边描述的是定时调度的场景,而你的问题是通过api主动调起的。 看你的问题,定时调度job-118只生成了1个实例,是正常的,但是通过api调起的119却生成了2个实例。这要结合你119的任务信息去排查了
119的这个任务通过api去调起run10次,基本上会生成十七八条任务实例数据,就是其中有七八次run重复生成了任务实例,一开始我觉得可能是集群部署的问题,看了任务实例数据,重复的任务实例其实也是被同一台执行机器执行的
from powerjob.
Related Issues (20)
- About heartbeat logs
- PowerJobException: illegal DAG HOT 2
- mapReduce任务 map 阶段执行错误 reduce过程还是会执行
- Invocation of init method failed; nested exception is tech.powerjob.common.exception.PowerJobException: can't load CSInitializer[HTTP], ensure your package name start with 'tech.powerjob' and import the dependencies! HOT 3
- 官方内置DynamicDatasourceSqlProcessor不支持多条SQL语句 HOT 1
- 请教:调度器重启,错过的任务如何处理 HOT 2
- fetch Processor failed, please check your processorType and processorInfo config
- quarkus demo HOT 7
- map任务未告知当前appName下有多少执行器节点,无法均匀分配任务
- 求官方一份离线文档,可pdf只可查阅等 HOT 3
- mongodbji集群怎么配置
- worker注册不上,同一个局域网,是因为什么 HOT 1
- 关于springBean类型的执行器在不抛异常的情况下支持返回失败。
- max open files HOT 2
- server创建的openapi任务,需要主要触发一次,worker能否在程序重启或者启动时候检测到当前ip存在任务需要执行就立刻执行任务,不用再去server页面再点击一次按钮 HOT 1
- 工作流配置中,给任务节点添加“成功暂停”标识
- server和worker时间都没问题,但是固定0点的任务却在8点执行 HOT 1
- Q:是否支持Worker自动升级?
- 工作流判断节点参数无法输入
- 运行任务一直显示 ‘等待Worker接收’,这是什么情况呢?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from powerjob.