Обычно шаблон для алгоритма управления с traci равен
while traci.simulation.getMinExpectedNumber() > 0:
# retrieve data from detectors
# act on traffic light
traci.simulationStep()
Нет ничего плохого в том, чтобы сделать следующее
while traci.simulation.getMinExpectedNumber() > 0:
# retrieve data from detectors
# act on traffic light 1
# act on traffic light 2
# ...
traci.simulationStep()
или даже несколько этапов извлечения данных перемежаются. Вы также можете использовать приемник traci step, который вызывает произвольные дополнительные функции Python или даже подключить несколько клиентов (хотя вам нужно заранее знать, сколько). Но в любом случае вам нужно будет переработать существующие алгоритмы таким образом, чтобы вы могли разделить код, который делается между двумя вызовами шага симуляции, и им как-то нужно, чтобы все работали на одной частоте.