AppEngine Standard Python 3.7 не выдает сообщение об ошибке с ответом 500 - PullRequest
0 голосов
/ 16 сентября 2018

Я создаю приложение AppEngine со стандартной средой python3.7. Приложение работает нормально локально, но при загрузке выдает ошибку 500 в браузере:

"Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application."

Отладка не включена для python3.7 (это говорит мне об этом при просмотре отладчика). И в записях журнала нет намека на сообщение об ошибке в ответе 500.

Как перейти к отладке и понять, что происходит с приложением?

Я должен отметить, что я пытаюсь использовать веб-драйвер Selenium для запуска безголового Chrome, и я не уверен на 100%, что это совместимо с этой средой, я просто пытался попробовать.

Добавление в журнал как предложено

https://console.cloud.google.com/logs/viewer?project={project-id}&resource=gae_app%2Fmodule_id%2Fdefault%2Fversion_id%2F20180916t193009&minLogLevel=0&expandAll=false&timestamp=2018-09-17T18%3A18%3A21.295000000Z&customFacets&limitCustomFacetWidth=true&interval=PT1H&scrollTimestamp=2018-09-17T18%3A16%3A59.235127000Z&advancedFilter=resource.type%3D%22gae_app%22%0Aresource.labels.zone%3D%22us-west2-3%22%0Aresource.labels.project_id%3D%22{project-id}%22%0Aresource.labels.version_id%3D%2220180916t193009%22%0Aresource.labels.module_id%3D%22default%22%0Atimestamp%3D%222018-09-17T18%3A16%3A57.883459000Z%22%0AinsertId%3D%225b9fef9e0005ebc57890705d%22&dateRangeUnbound=both

{
 httpRequest: {
  status:  500   
 }
 insertId:  "5b9fef9e0005ebc57890705d"  
 labels: {
  clone_id:  "00c61b117c38b726d0ba73ce89f222fe10b9b189fae907de84b949ab7a3b88ec4bdc4484"   
 }
 logName:  "projects/{project-id}/logs/appengine.googleapis.com%2Frequest_log"  
 operation: {
  first:  true   
  id:  "5b9fef9900ff0d7b03fbff00a7c100016d7e7370656e642d6d6f6e69746f720001323031383039313674313933303039000100"   
  last:  true   
  producer:  "appengine.googleapis.com/request_id"   
 }
 protoPayload: {
  @type:  "type.googleapis.com/google.appengine.logging.v1.RequestLog"   
  appEngineRelease:  "1.9.64"   
  appId:  "m~{project-id}"   
  cost:  4.7272999999999996e-8   
  endTime:  "2018-09-17T18:17:02.387819Z"   
  finished:  true   
  first:  true   
  host:  "{project-id}.appspot.com"   
  httpVersion:  "HTTP/1.1"   
  instanceId:  "00c61b117c38b726d0ba73ce89f222fe10b9b189fae907de84b949ab7a3b88ec4bdc4484"   
  instanceIndex:  -1   
  ip:  "80.195.185.178"   
  latency:  "4.504360s"   
  line: [
   0: {
    logMessage:  "This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time. This request may thus take longer and use more CPU than a typical request for your application."     
    severity:  "INFO"     
    time:  "2018-09-17T18:17:02.387649Z"     
   }
  ]
  megaCycles:  "6127"   
  method:  "GET"   
  requestId:  "5b9fef9900ff0d7b03fbff00a7c100016d7e7370656e642d6d6f6e69746f720001323031383039313674313933303039000100"   
  resource:  "/"   
  responseSize:  "423"   
  startTime:  "2018-09-17T18:16:57.883459Z"   
  status:  500   
  traceId:  "37cee4aaaa0b14fbaa6d57b7842527dc"   
  traceSampled:  true   
  urlMapEntry:  "auto"   
  userAgent:  "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"   
  versionId:  "20180916t193009"   
  wasLoadingRequest:  true   
 }
 receiveTimestamp:  "2018-09-17T18:17:02.563417716Z"  
 resource: {
  labels: {
   module_id:  "default"    
   project_id:  "{project-id}"    
   version_id:  "20180916t193009"    
   zone:  "us-west2-3"    
  }
  type:  "gae_app"   
 }
 severity:  "INFO"  
 timestamp:  "2018-09-17T18:16:57.883459Z"  
 trace:  "projects/{project-id}/traces/37cee4aaaa0b14fbaa6d57b7842527dc"  
 traceSampled:  true  
}

1 Ответ

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

Для дальнейшей отладки я вставил блок try / catch следующим образом:

попробовать: {код приложения} кроме исключения как e: возврат str (e)

Это приводит к появлению сообщения об ошибке верхнего уровня в браузере при сбое приложения.

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