У меня очень простое приложение go, которое отлично работает под Windows и Mac. (Кстати, я новичок в Голанге). Цель приложения - подписаться на подписку на облачный паб в google и пересылать сообщения в другое приложение с помощью REST.
Код выглядит так:
func getOrCreateTopic() {
log.Infof("1")
ctx := context.Background()
log.Infof("2")
topicName := viper.GetString("gce.pubsub.topic")
log.Infof("3")
topic = client.Topic(topicName)
log.Infof("4")
exists, _ := topic.Exists(ctx)
log.Infof("5")
if topic == nil || !exists {
topic, err = client.CreateTopic(ctx, topicName)
if err != nil {
log.Errorf("Failed to create topic %s: %v", topicName, err)
os.Exit(2)
}
}
}
func main() {
...
getOrCreateTopic();
...
}
Я создал докер-контейнер и опубликовал его в нашем кластере kubernetes в облаке Google. То, что я вижу в журналах, это все до «4», а затем не более того. Но процесс все еще показан как запущенный в kubernetes.
Я заблудился, похоже, что вызов API просто зависает.