Я уже некоторое время занимаюсь разработкой с Google App Engine Go, но уже год не трогал. Я попытался обновить свое приложение с «go1» (1.9?) До «go111», и в настоящее время я получаю некоторые странные ошибки без объяснения того, что происходит.
К ошибкам относятся:
The request failed because the instance could not start successfully
Container called exit(1).
500 Internal server error
- и т. Д.
Ничто из этого не указывает мне на какое-либоконкретная строка в моем коде, где что-то пойдет не так, и не объясните ничего более значимого ...
Я предполагаю, что ошибка связана с моим обновлением между версиями golang. Мне пришлось изменить пакет app
на main
, добавить в приложение функцию main
, обновить пакет appengine до более новой версии, обновить приложение gsuite, добавить виджет облачной компиляции, изменить сценарий app.yamlот перехода к авто и т. д.
В общем, я потерян. Подобный вопрос SE не дал хороших ответов . Кто-то еще предположил, что app.yaml
может быть виноват, поэтому вот мой:
runtime: go111
handlers:
- url: /static
static_dir: static
- url: /res
static_dir: res
- url: /update
script: auto
secure: always
login: admin
- url: /.*
script: auto
secure: always
login: optional
Отладочный журнал консоли очень бесполезен:
А основной файл выглядит примерно так:
package main
import (
"fmt"
"google.golang.org/appengine"
"html/template"
"log"
"net/http"
)
var MainTemplate *template.Template
func main() {
http.HandleFunc("/", hello)
var err error
MainTemplate, err = template.ParseFiles("html/main.html")
if err != nil {
log.Printf("ERROR! %v\n", err.Error())
panic(err)
}
log.Printf("Hello world!\n")
}
func hello(w http.ResponseWriter, r *http.Request) {
c := appengine.NewContext(r)
//................................//
MainTemplate.Execute(w, nil)
}
Что-нибудь еще может быть?