Чтобы ускорить процесс, я создал каналы для обработки данных stdin
и stdout
вместо сохранения данных в файлы на каждом шаге. Моя команда exec выглядит следующим образом:
((cat testset.tsv | python3 transform_input.py --arg1 lol) | compiled_tool_stdin -argument_flags) | python3 merge_result.py --arg1 lol
Итак, здесь у нас есть 2 python
скриптов, огромный инструмент в java+bash
и обычный cat
. Проблема в том, что вся часть до последнего шага (merge_result.py
) работает нормально, но скрипт получает данные порциями. Есть ли способ подождать, пока все данные из предыдущей части будут готовы, а затем запустить последнюю часть каналов? Если я сохраню данные в файл, мне все равно нужно будет убедиться, что все данные уже сохранены, есть ли шанс проверить, что файл уже заполнен?