Как создать новый сеанс помощника Ватсона по истечении срока действия сеанса в Flask? - PullRequest
0 голосов
/ 03 июля 2019

Я использую помощника Ватсона с рамкой для фляги. После окончания сеанса я получаю следующую ошибку

ApiException (response.status_code, error_message, http_response = response) ibm_cloud_sdk_core.api_exception.ApiException: Ошибка: NotFound: идентификатор сеанса ba62bf14-87e-4c7b071b591e для экземпляра агента 0e5c653c-9-b4e0-5a597c3e541e, код: 404, X-global-транзакция-id9: ffea: ffea 127.0.0.1 - - [03 июля / 2019 11:27:47] "GET / HTTP / 1.1" 200

Обновление страницы не создает новый сеанс

Как создать новый сеанс для этого исключения, чтобы мне не нужно было перезапускать локальный сервер?

Ответы [ 2 ]

1 голос
/ 11 июля 2019

Вы упомянули 5-минутный тайм-аут сессии.

Пробная версия Watson Plus имеет этот набор только для тестирования и не предназначена для уровня производства. Это не может быть изменено.

Стандартная версия и lite могут использовать сеанс, но оба изначально были без сохранения состояния. Вы должны использовать API V1 для них. Вам придется управлять государством, но у вас больше не будет тайм-аута.

Если вы используете платную версию Watson Plus или premium, вы можете изменить время ожидания в настройках помощника.

0 голосов
/ 04 июля 2019

Вам необходимо предоставить код, так как любой ответ будет слепым и основан на догадках о том, какие ошибки вы допустили, а их много. Но, основываясь на том факте, что вы не смогли предоставить код и все же подняли вопрос, ожидая, что кто-то скажет вам, что вы сделали неправильно, давайте продолжим с ошибкой новичка.

Я думаю, что вы создаете сеанс как глобальный в своем приложении фляги, и, возможно, сохраняете его в объекте app. У вас, вероятно, есть маршрут для диалога, который использует сеанс. Код в этом маршруте должен отловить ошибку или проверить, является ли сеанс все еще действительным, и воссоздать его. Если вы перехватываете ошибку и пытаетесь воссоздать сеанс, то вы, возможно, не согласны с ограничениями глобальных переменных Python. По сути, если в функции у вас есть переменная в качестве правой части присваивания, тогда ее область действия будет ограничена функцией.

Обновление веб-страницы не заставит приложение фляги заново создать сеанс. Поскольку у вас, вероятно, есть эта логика вне любых маршрутов.

...