Отправить несколько запросов в Flask API - PullRequest
0 голосов
/ 18 сентября 2018

Я столкнулся с этим исключением, когда работал с Angular, чтобы показать мои данные REST Flask API, развернутые на сервере 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)

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

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

Это наблюдаемая проблема обработки или ее можно исправить с помощьюGunicorn с nginx на стороне сервера?

1 Ответ

0 голосов
/ 28 сентября 2018

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...