Код: Выделить всё
tasks.yaml
Код: Выделить всё
every_minute:
- name: test0
path: test0.sh
times_per_min: 3
- name: test1
path: test1.sh
times_per_min: 2
< /code>
Мой код Python для импорта задач и их выполнения: < /p>
import subprocess
import time
import yaml
TASKS = []
with open("tasks.yaml") as file:
measurements = yaml.safe_load(file)
for every_min in measurements["every_minute"]:
for _ in range(every_min["times_per_min"]):
TASKS.append(every_min["path"])
interval = 60 / len(TASKS)
for task in TASKS:
try:
PROCESSES.append(subprocess.Popen([task]))
except Exception as e:
print("An error occured")
time.sleep(interval)
< /code>
В этом случае задачи будут выглядеть как: < /p>
print(TASKS)
['test0.sh', 'test0.sh', 'test0.sh', 'test1.sh', 'test1.sh']
< /code>
Что я хотел бы:
['test0.sh', 'test1.sh', 'test0.sh', 'test1.sh', 'test0.sh']
также отметьте, что я хочу, чтобы это распределение работало независимо от количества задач и значения Times_per_min ...
Подробнее здесь: https://stackoverflow.com/questions/794 ... es-and-sho