aimclub / FEDOT

Automated modeling and machine learning framework FEDOT
https://fedot.readthedocs.io
BSD 3-Clause "New" or "Revised" License
632 stars 86 forks source link

Enable separate cache DBs for separate FEDOT instances #824

Closed IIaKyJIuH closed 1 year ago

IIaKyJIuH commented 2 years ago

Currently there is no way to use caching while running two or more separate instances of FEDOT simultaneously, cause they are deleting each others database files.

So it is common to see something like image

The problem is in this caching db class method. It was created in order to free memory on a hard disk from the old db files.

It is required to propose some solution that will still be cleaning up the memory after running FEDOT and at the same time it won't influence on the separate runs.

nicl-nno commented 2 years ago

А если в рамках каждой сессии использовать уникальные имена таблиц (operations+uuid) - это в первом приближении не решит проблему?

IIaKyJIuH commented 2 years ago

Правильно ли я понял, ты имеешь в виду работу всех процессов и инстансов Федота над одной БД, но сделать внутри уникальные таблицы на каждую сессию?

Если так, то всё равно не очень понятно, как этот файл с БД очищать в случае, когда там накопится уже много таблиц от предыдущих сессий.

Вообще бы так сделать, чтобы по завершении работы Федота он удалял все файлы, которые сгенерил, если пути к ним не были заданы пользователем

nicl-nno commented 2 years ago

Да, вроде того.

Ну, можно смотреть по последней дате активности с этой таблицей. Ну и действительно по зарвешении работы очищать всё, что создано текущей сессией (но это только для корректного завершения сработает).

valer1435 commented 2 years ago

Правильно ли я понял, ты имеешь в виду работу всех процессов и инстансов Федота над одной БД, но сделать внутри уникальные таблицы на каждую сессию?

Если так, то всё равно не очень понятно, как этот файл с БД очищать в случае, когда там накопится уже много таблиц от предыдущих сессий.

Вообще бы так сделать, чтобы по завершении работы Федота он удалял все файлы, которые сгенерил, если пути к ним не были заданы пользователем

Они же по идее лежат в одной папке. Можно чистить по префиксу

IIaKyJIuH commented 2 years ago

Они же по идее лежат в одной папке. Можно чистить по префиксу

В текущем раскладе префикс всегда не предугадаешь

А вот по дате можно было бы чистить со сроком >1 дня, норм? И учесть ещё, что это не заданный пользователем путь, а tmp директория

nicl-nno commented 2 years ago

Ну в теории запуск automl может заниматься больше одного дня. Те что не относятся к текущему запуску - в целом да, можно чистить.