How to move agv at once

Hi there experts~

i want to make move agv at once.

there are 8 agv.

first i send signal from work process to virtual controller. And, i make 8 python scripts.

The contents are as follows.

def OnStart():
global Cart01, C_Servo, movecart, Cart01_P, A10, movefin
A10 = app.findComponent(“A10”)
movefin = A10.findBehaviour(“movefin”)
movecart = comp.findBehaviour(“movecart”)

Cart01 = app.findComponent(“Cart01”)
Cart01_P = Cart01.getProperty(“Cart_Position”)
Cart01_P.Value = 1

C_Servo = Cart01.findBehaviour(“ServoController”)

def OnRun():
while True:
p_queue = []
triggerCondition(lambda: getTrigger() == movecart and movecart.Value)
movecart.signal(False)
p_queue.append(JudgeMove(Cart01))
C_Servo.move(p_queue[0][0], p_queue[0][1])
Move(C01_Servo, p_queue[0][0], p_queue[0][1])
movefin.signal(True)
Cart01_P.Value += 1
if Cart01_P.Value == 9:
Cart01_P.Value = 1

def JudgeMove(CartName):
C_Name = CartName.Name
C_P = CartName.getProperty(“Cart_Position”)

prop_q = []

When I try to move 1 agv, it works well, but when I try to move 8, it doesn’t work well because of the load and buffering.

Please suggest if there is another good way?
Or did I write in a weird way?