Я пытаюсь запустить три функции (каждая может занять до 1 секунды для выполнения) каждую секунду. Затем я хотел бы сохранить вывод каждой функции и записать их в отдельные файлы.
На данный момент я использую Timer
ы для обработки задержки. (Я мог бы подкласс Thread
, но это становится немного сложным для этого простого скрипта)
def main:
for i in range(3):
set_up_function(i)
t = Timer(1, run_function, [i])
t.start()
time.sleep(100) # Without this, main thread exits
def run_function(i):
t = Timer(1, run_function, [i])
t.start()
print function_with_delay(i)
Какой лучший способ обработки вывода функции function_with_delay? Добавить результат в глобальный список для каждой функции?
Тогда я мог бы поместить что-то вроде этого в конец моей главной функции:
...
while True:
time.sleep(30) # or in a try/except with a loop of 1 second sleeps so I can interrupt
for i in range(3):
save_to_disk(data[i])
Мысли?
Edit: Added my own answer as a possibility