我们使用节点camunda -外部任务-客户端js来处理camunda外部任务。以下是客户端配置
"topic_name": "app-ext-task",
"maxTasks": 5,
"maxParallelExecutions": 5,
"interval": 500,
"usePriority": true,
"lockDuration":2100000,
"workerId": "app-ext-task-worker"我们正在获取外部任务细节并能够处理它们,但有时我们看到一些任务正在被剥夺。
我们不为任何外部任务设置任何优先级,默认情况下,所有任务都被指定为优先级0。
我们预计所有的任务都会以顺序的方式执行,我们同意有些任务可能比后续的任务花费更多的时间,这样taks 1可能比任务2花费更多的时间。
例:如果一个队列包含10个taks task1、taks-2、ask-3、ask-4、task-5、.task-10,那么所有任务都有相同的优先级依次执行。1:任务-1,2:任务-2-3:任务-3
问题:我们看到一些任务被剥夺了,这意味着早期消息比现有消息更优先。
1:任务-1,
2:任务-2
第三:任务-4
第四项任务-5
5:任务-6
6:任务-7
第七项:任务-8
8: task-3
我在两个地方看到了问题
我没有在上面找到多少文档,我不知道如何调试它。对我来说,这是一个间歇性的问题,因为我找不到问题的根源。
我也不知道如何调试它。
我在卡蒙达排队时的期望是错的吗?
发布于 2022-07-27 19:48:22
外部任务不构成“队列”。它们是一个可能的任务池中的实例,您的工作人员获取“一些”任务,这些任务可能是有序的,也可能不是。您可以对任务进行优先级排序,但是,如果池中有10个“最高”的prio任务,而工作人员获取5,则无法确定选择哪一个。
但是,您手头有一个流程引擎,如果保持顺序对于您的流程至关重要,那么为什么要同时启动所有任务并依赖外部工作人员来保持订单呢?为什么不一次只创建一个任务,并在它完成后继续?
https://stackoverflow.com/questions/73052412
复制相似问题