Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 几分钟后谷歌应用程序引擎内部服务器错误_Python_Google App Engine_Google Cloud Platform_Twilio_Ibm Watson - Fatal编程技术网

Python 几分钟后谷歌应用程序引擎内部服务器错误

Python 几分钟后谷歌应用程序引擎内部服务器错误,python,google-app-engine,google-cloud-platform,twilio,ibm-watson,Python,Google App Engine,Google Cloud Platform,Twilio,Ibm Watson,我正在使用Python、Twilio、Flask、IBM Watson和Google应用程序引擎构建一个基于SMS的聊天机器人。它可以正常工作几分钟,但随后不可避免地会发出内部响应错误 我尝试编辑yaml文件,使其默认过期时间为1天。它没有任何作用 编辑:目前处于自动缩放状态,但我已尝试将自动缩放更改为基本缩放,并将min_实例更改为1 这是日志: 2019-07-06 08:57:09 default[20190706t180659] Traceback (most recent call

我正在使用Python、Twilio、Flask、IBM Watson和Google应用程序引擎构建一个基于SMS的聊天机器人。它可以正常工作几分钟,但随后不可避免地会发出内部响应错误

我尝试编辑yaml文件,使其默认过期时间为1天。它没有任何作用

编辑:目前处于自动缩放状态,但我已尝试将自动缩放更改为基本缩放,并将min_实例更改为1

这是日志:

2019-07-06 08:57:09 default[20190706t180659]  
Traceback (most recent call last):
    File "/env/lib/python3.7/site-packages/flask/app.py", line 2292, in wsgi_app
      response = self.full_dispatch_request()
    File "/env/lib/python3.7/site-packages/flask/app.py", line 1815, in full_dispatch_request
      rv = self.handle_user_exception(e)
    File "/env/lib/python3.7/site-packages/flask/app.py", line 1718, in handle_user_exception
      reraise(exc_type, exc_value, tb)
    File "/env/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise
      raise value
    File "/env/lib/python3.7/site-packages/flask/app.py", line 1813, in full_dispatch_request
      rv = self.dispatch_request()
    File "/env/lib/python3.7/site-packages/flask/app.py", line 1799, in dispatch_request
      return self.view_functions[rule.endpoint](**req.view_args)
    File "/srv/main.py", line 81, in incoming_sms
      r = Watson(b)
    File "/srv/main.py", line 42, in Watson
      input = message_input
    File "/srv/ibm_watson/assistant_v2.py", line 244, in message
      accept_json=True)
    File "/srv/ibm_cloud_sdk_core/base_service.py", line 358, in request
      raise ApiException(response.status_code, error_message, http_response=response)
ibm_cloud_sdk_core.api_exception.ApiException: Error: NotFound: session id 2900da9f-dd77-480a-a939-1a5b060b3f82 for agent instance 6656a86c-ad0e-4463-8344-5f7fdcb4a6fe, Code: 404 , X-global-transaction-id: 5a3699f1cd4e3409e9f89f4fcd87735f
编码以获取Twilio上的输入,通过Watson反馈并响应。


from flask import Flask, request, make_response
from twilio.twiml.messaging_response import MessagingResponse
import os
from twilio import twiml

import ibm_watson

# Set up Assistant service.
service = ibm_watson.AssistantV2(
    iam_apikey = 'xxx', # replace with API key
    version = '2019-02-28',
    url = 'https://gateway-syd.watsonplatform.net/assistant/api')

assistant_id = 'xxx' #Under Assistant Settings

# Create session.
session_id = service.create_session(
    assistant_id = assistant_id
).get_result()['session_id']

def Watson(b):
# Initialize with empty value to start the conversation.
    message_input = {
            'message_type:': 'text',
            'text': str(b)
            }

# Main input/output loop
    while message_input['text'] != 'quitt':

    # Send message to assistant.
        response = service.message(
                assistant_id,
                session_id,
                input = message_input
                ).get_result()

    # If an intent was detected, print it to the console.
        if response['output']['intents']:
            print('Detected intent: #' + response['output']['intents'][0]['intent'])

    # Print the output from dialog, if any. Supports only a single
    # text response.
        if response['output']['generic']:
            if response['output']['generic'][0]['response_type'] == 'text':
                return(response['output']['generic'][0]['text'])

    # Prompt for next round of input.
        message_input = {
                'text': str(b)
                }

# We're done, so we delete the session.
    service.delete_session(
            assistant_id = assistant_id,
            session_id = session_id
            )


app = Flask(__name__)

@app.route("/sms", methods=['GET', 'POST'])

def incoming_sms():

    """Send a dynamic reply to an incoming text message"""
    #Get the message the user sent our Twilio number
    body = request.values.get('Body', None)
    b = str(body)
    b = b.lower()
    resp = MessagingResponse()


    r = Watson(b)


    resp.message(r)

   # response.append(r)
    return str(resp)

if __name__ == "__main__":
    app.run(debug=True)

您从
ibm\u cloud\u sdk\u core
包中得到一个异常。这可能是由于App Engine扩展到多个实例,但会话ID没有在多个实例之间共享。因此,实例A可能有一个会话ID,但随后的请求可能会转到没有该会话ID的实例B


在向库维护人员的API发出请求之前,您应该与库维护人员联系,了解如何共享会话ID,或者确定您是否具有请求的有效会话ID。

您从
ibm_cloud\u sdk\u core
包中得到了一个异常。这可能是由于App Engine扩展到多个实例,但会话ID没有在多个实例之间共享。因此,实例A可能有一个会话ID,但随后的请求可能会转到没有该会话ID的实例B


在向库维护人员的API发出请求之前,您应该联系库维护人员,了解如何共享会话ID,或者确定您是否拥有请求的有效会话ID。

您可以编辑帖子、重新粘贴回溯并将其格式化为代码吗?像这样不可读。哪个GAE环境?您的缩放配置是什么?首先,感谢@DanCornilescu编辑我的格式。下次我会做得更好。我正在使用自动缩放,实例类F1。你能分享你正在使用的代码吗?如果您使用的是Twilio,那么通信应该全部通过HTTP请求进行。看起来你好像有点不对劲。基本上,检查代码可以帮助我们更好地理解正在发生的事情。你能编辑你的帖子,重新粘贴回溯并将其格式化为代码吗?像这样不可读。哪个GAE环境?您的缩放配置是什么?首先,感谢@DanCornilescu编辑我的格式。下次我会做得更好。我正在使用自动缩放,实例类F1。你能分享你正在使用的代码吗?如果您使用的是Twilio,那么通信应该全部通过HTTP请求进行。看起来你好像有点不对劲。基本上,检查代码可以帮助我们更好地理解正在发生的事情。我认为您已经了解了一些事情。我会调查的。谢谢我想你对这里有些了解。我会调查的。谢谢