Отправить несколько запросов в Flask API

0

Я столкнулся с этим исключением, когда работал с Angular, чтобы показать данные REST API Rask, которые развернуты на сервере nginx:

{ "error": "(_mysql_exceptions.ProgrammingError) (2014, \"Commands out of sync; you can't run this command now\") [SQL: 'SELECT ......" } 

Это исключение вызвано этой функцией, которая одновременно отправляет два запроса в базу данных:

ngOnInit() {
    let url = this.baseUrl + '/items/${this.id}';
    this.httpClient.get(url).subscribe((data : Array<any>)=> {
        this.ItemToEdit = data;
    });
    let url = this.baseUrl + '/products'
    this.httpClient.get(url);
}

Я использую SQLAlchemy в API с базой данных Mysql. Я думал, что если я добавлю соединение с пулом, он будет разрешен, но это не так, я все равно получаю такое же исключение:

engine = create_engine(connection_string, pool_size=20, max_overflow=0)

Что я должен делать, чтобы справиться с этим? Есть ли что-нибудь еще, чтобы установить на стороне сервера, чтобы эта функция работала без получения исключения?

РЕДАКТИРОВАТЬ:

Является ли это наблюдаемой проблемой обработки или может быть fixeb, используя Gunicorn с nginx на стороне сервера?

Теги:
flask-sqlalchemy

1 ответ

0

Использование Gunicorn решило мою проблему. Я запускаю приложение таким образом:

gunicorn -b 0.0.0.0:5000 --workers=5 myapi:app

И я больше не вижу ошибки даже с 3 запросами mysql в ngOnInit

Ещё вопросы

Сообщество Overcoder
Наверх
Меню