def start_dataset_creating(): start = datetime.datetime.now() dataset_name = 'dataset_' + str(time.time()).replace('.', '') dataset_dir = os.path.join(current_app.config['DATASET_DIR'], dataset_name) os.makedirs(dataset_dir, exist_ok=True) dataset = Dataset(name=dataset_name, path=dataset_dir, dt_start=start, status=DatasetStatus.start, type=DatasetType.top_one) db.session.add(dataset) db.session.commit() collector = DatasetCollector(dataset_model=dataset) try: # TODO: добавить параметры датасета collector.create_doctor_item_base_matrix() collector.create_datasets_for_catboost(min_appts=10) except Exception as e: traceback.print_exc() dataset.status = DatasetStatus.fail dataset.error = str(e) else: dataset.status = DatasetStatus.end finally: dataset.dt_end = datetime.datetime.now() db.session.add(dataset) db.session.commit() return redirect(url_for('dataset.main'))