-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pipeline #21
Comments
Вдохновляться dnanexus.com |
Мысли вслух про реализацию, прокомментируй, пожалуйста.
Backend ничего не знает про тулы. Он знает только корневую директорию с тулами. Из пришедшей команды он извлекает название exe-шника ("executable"), которое, в общем случае, включает в себя часть пути от tools_root. Params превращаются в аргументы (добавляется "--" и "="). |
Все знание о тулах содержится в базе ig, которая доступна фронтэнду. Каждому тулу соответствует своя django-модель Удобно, что модель представляется в виде таблицы, в которой каждый столбец соответствует отдному параметру для тула. Дополнительное преимущество - из модели строится форма ввода параметров для пользователя, поэтому мы сразу убиваем двух зайцев. |
Очень хорошо, так оно и должно выглядеть как-то. Только стоит разделять параметры и входные-выходные файлы, наверное. Просто логически, чтоб быстро строить пайплайны на дефолтных параметрах. Да, и накручивать тулы на выходы других тулов будет проще. А унифицировать во всех наших консольных утилитах флаги входа-выхода - это дело 10 минут. |
Остается незакрытый вопрос - как в pipeline пробросить файлы с вывода первой утилиты на вход второй. Сейчас выбор входных файлов осуществляется через dropdown list, данные для которого берутся из таблички Storage. Нужно научиться на стороне фронтэнда для второй утилиты во входные файлы добавлять файлы с вывода первой утилиты. Мне пока что пришло в голову следующее:
Из минусов - любое переименование выходных файлов в скрипте должно отражаться в базе. Прокомментируй, пожалуйста. Вдруг у тебя есть более изящное и красивое решение. |
В общем-то, сейчас перечитал, у меня никаких возражений нет. Как я понимаю, оно ровно так и должно действовать.
|
Да, согласен. Нужно продумать формат манифеста. Видимо, это будет что-то вроде:
|
Да, как-то так. Ну, и иметь табличку типов где-то в базе. И табличку возможных предикатов. |
Нужна возможность сохранять собранный пайплайн под новым именем. Чтобы не собирать заново при следующем запуске. |
Доделал поддержку пайплайна для всех форм. |
Возможность накручивать на данные серию обработчиков (аналог pipe в Bash)
The text was updated successfully, but these errors were encountered: