我有一个要求,即我的应用程序提交某种任务。此任务由客户提交。为了确保它们最终不会提交太多任务,每次提交任务时,我都会检查正在运行的进程以及它们是否由同一客户端提交。如果是,则不会提交任务。 我想横向扩展这些任务。因此,我将在不同的计算机上运行多个工作程序,以确保更高的可用性,但之后我想确保只有一个任务实例正在被处理,并且该任务应在完成由同一客户端提交的另一个任务之前完成
例如,如果提交的任务的年表是 -
Client 1 submits t1
Client 1 submits t2
Client 2 submits t3
如果仍在处理t1
且工作人员被释放,那么它应该选择t3
而不是t2
。
我该如何解决这个问题? 速率限制不是一种选择,因为我无法确定这些任务需要多长时间。
谢谢,