Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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 连接到Google Cloud SQL时出现死线超出错误_Python_Google App Engine_Google Cloud Sql - Fatal编程技术网

Python 连接到Google Cloud SQL时出现死线超出错误

Python 连接到Google Cloud SQL时出现死线超出错误,python,google-app-engine,google-cloud-sql,Python,Google App Engine,Google Cloud Sql,我们有一个连接到GCSQL的googleappengine应用程序,我们在尝试连接数据库时遇到了很多死线问题。 这个错误似乎是由大量用户在短时间内打开应用程序而产生的。 在此期间,当我们在仪表板上查看打开的连接时,同时打开的连接不超过45个 而且它在大部分查询的阅读、写作和连接上都失败了,花费了太多的时间。 由于花费了这段时间,服务关闭,我们收到了错误 错误示例: Traceback (most recent call last): File "/python27_runtime/pytho

我们有一个连接到GCSQL的googleappengine应用程序,我们在尝试连接数据库时遇到了很多死线问题。 这个错误似乎是由大量用户在短时间内打开应用程序而产生的。 在此期间,当我们在仪表板上查看打开的连接时,同时打开的连接不超过45个 而且它在大部分查询的阅读、写作和连接上都失败了,花费了太多的时间。 由于花费了这段时间,服务关闭,我们收到了错误

错误示例:

Traceback (most recent call last):
  File "/python27_runtime/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 223, in Handle
    result = handler(dict(self._environ), self._StartResponse)
  File "/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1505, in __call__
    rv = self.router.dispatch(request, response)
  File "/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1253, in default_dispatcher
    return route.handler_adapter(request, response)
  File "/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1077, in __call__
    return handler.dispatch()
  File "/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 545, in dispatch
    return method(*args, **kwargs)
  File "/base/data/home/apps/s~ono-hat-prod/1.365115032772094991/onohatpreprod.py", line 5541, in post
    cursor.execute("SELECT %s FROM actuaciones WHERE numero = '%s' " % (rc,idHat))
  File "/python27_runtime/python27_lib/versions/1/google/storage/speckle/python/api/rdbms.py", line 499, in execute
    self._DoExec(request)
  File "/python27_runtime/python27_lib/versions/1/google/storage/speckle/python/api/rdbms.py", line 375, in _DoExec
    response = self._conn.MakeRequest('Exec', request)
  File "/python27_runtime/python27_lib/versions/1/google/storage/speckle/python/api/rdbms.py", line 873, in MakeRequest
    response = self._MakeRetriableRequest(stub_method, request)
  File "/python27_runtime/python27_lib/versions/1/google/storage/speckle/python/api/rdbms.py", line 897, in _MakeRetriableRequest
    response = self.MakeRequestImpl(stub_method, request)
  File "/python27_runtime/python27_lib/versions/1/google/storage/speckle/python/api/rdbms_apiproxy.py", line 67, in MakeRequestImpl
    except apiproxy_errors.ApplicationError, e:
 DeadlineExceededError
错误发生前的一段代码:

class detalleActuacion(webapp2.RequestHandler):
    def post(self):
        idHat = self.request.get('id')
        logging.info(idHat)
        num_conexiones = 0
        num_cierres = 0
        conn = rdbms.connect(instance=_INSTANCE_NAME, database='Actuaciones')
        num_conexiones = num_conexiones + 1
        cursor = conn.cursor()

        dict_act = {}
        request_cad = 'solucionado,duracion,numero,fecha_inicio_ventana,fecha_fin_ventana,'
        request_cad = request_cad+'tipo,titulo,tipo_cliente,ubicacion,zona_regional,'
        request_cad = request_cad+'zona_local,ciudad_ticket,zona_regional_subticket,zona_local_subticket,'
        request_cad = request_cad+'zona_local_ticket,skill,num_recursos,num_actuaciones,ubi_emplaz,'
        request_cad = request_cad+'ubi_provincia,ubi_lat,ubi_long,ubi_via,ubi_calle,ubi_numero,ubi_adic,'
        request_cad = request_cad+'ubi_CP,miga_terminal,miga_tlf,miga_dir,severidad,prioridad,serv_CATV,'
        request_cad = request_cad+'serv_datos,serv_DTV,serv_empresa,serv_telefonia,instr,num_rep,'
        rc = request_cad+'fecha_creac,fecha_creac_tp,fecha_sol,fecha_sol_tp,fecha_cierre,fecha_cierre_tp,'
        rc = rc+'fecha_inicio,fecha_fin,descr_adic,descr_log,grupo_pos,accion,cola,estado,estado_ticket,'
        rc=rc+'doc_adj,detalle_equipos,tarea,subtarea,subzona,TIR,elem_red,descripcion,num_afectados,'
        rc=rc+'repeticion,fecha_repeticion,dias_repeticion,dias_semana,fin_repeticion,cl_afectados,'
        rc=rc+'plan_tp,marca_seguimiento,tipificacion,miga,zona,bandeja,alerta,descr_log1,descr_log2,descr_log3,descr_log4,descr_log5,descr_log6,descr_log7,descr_log8,descr_log9,'
        rc=rc+'elem_red_2,estado_CRM,tecnico,tecnico2,tecnico3,tecnico4,tecnico5,num_asignaciones,ultima_modificacion,tiempo_proceso,fecha_inicio_real,fecha_fin_real'
        rc=rc+',observaciones1,observaciones2,observaciones3,observaciones4,observaciones5,observaciones6,observaciones7,observaciones8,observaciones9,observaciones10'
        cursor = conn.cursor()
        cursor.execute("SELECT %s FROM actuaciones WHERE numero = '%s' " % (rc,idHat))

提前感谢您的帮助。

如果有45个并发请求,可能会有更多打开的连接。 看

您还可以尝试增加实例大小:更多的RAM可以减少每个请求的延迟,从而减少连接数