Ejemplo n.º 1
0
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'))