zmactep / ig-pipeline

2 stars 0 forks source link

Загрузка данных #16

Closed zmactep closed 10 years ago

zmactep commented 10 years ago
Feodorov commented 10 years ago

По-подробнее, пожалуйста. Сейчас я это вижу так же, как и в IonTorrent сервере:

zmactep commented 10 years ago

Загрузка файла:

  1. Кладем файл на FTP
  2. Сохраняем накладную информацию на файл (id, path, description, allowed users) в общую БД между задницей и передницей (в которой еще task`и храниться будут)
  3. В интерфейсе есть возможность "свои" файлы кидать на вход тулам. В том числе снуперу.

Консольных утилит это вообще не касается. Консольные утилиты полностью самодостаточны и не требуют никаких баз данных и прочей фигни.

Feodorov commented 10 years ago

Переключил все компоненты на MySQL. В Manage в навбаре появилась ссылка на Storage - это список файлов (file_id -> comment + path). Управляется список через форму на /storage/modify/.

При отправке запроса на сервер для find_patterns и generate_model теперь входной файл выбирается из выпадающего списка, который представляет собой листинг файлов со страницы в /storage/.

zmactep commented 10 years ago

Уверен, что хорошо хранить все в одной базе? Получается, что там и всякий треш чисто вебневый, и полезные запросы - все вперемешку будет. Это чтоб не хранить в переднице два активных SQL-подключения?

Feodorov commented 10 years ago

Конечно, нет, треш и данные я разделю в разные базы. Это был первый пробный блин/прототип. Интерфейс нужно немного переделать (убрать отдельную страницу /storage/modify). Вечером постараюсь успеть подчистить хвосты. Но как proof-of-concept и текущее решение работает сносно.

zmactep commented 10 years ago

Storage пользователя - те файлы, которые указаны в базе данных. Все файлы из path/storage/ индексируются в базу данных через cron (отдельный скрипт по расписанию). Загрузка контента через ftp-клиент. Любому файлу в storage можно задать короткий идентификатор и описание (по умолчанию идентификатор - basename файла).

Feodorov commented 10 years ago

Запуск:

python scan_dir.py --host=localhost --port=3306 --db=ig --user=root --password=password --dir=/opt/ig-pipeline/data/

Скрипт сканирует рекурсивно директории, и добавляет файлы в базу в случае если в ней еще нет записи с таким же path. Список файлов виден в localhost:8000/storage/. На каждую строку можно кликнуть в районе столбцов "ID файла" и "Комментарий" и изменить значения, после чего нажать на кнопку Save, появившуюся справа.