0

我有一个要求,我的应用程序提交某种任务。该任务由客户提交。为了确保他们最终不会提交太多任务,每次他们提交任务时,我都会检查正在运行的进程以及它们是否由同一个客户端提交。如果是这样,则不会提交任务。我想为这类任务水平扩展。因此,我将让多个工作人员在不同的机器上运行,以确保更高的可用性,但是我想确保只有一个任务实例正在被主动处理,并且该任务应该在同一个客户端提交的另一个实例被处理之前完成.

例如,如果提交的任务的年表是 -

Client 1 submits t1 
Client 1 submits t2 
Client 2 submits t3

如果t1仍在处理中并且如果一个工人被释放,那么它应该拿起t3而不是t2

我怎么解决这个问题?速率限制不是一个选项,因为我不知道这些任务需要多长时间。

谢谢,

4

0 回答 0