Go приложение зависает в Docker - PullRequest
0 голосов
/ 03 мая 2018

У меня очень простое приложение 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 просто зависает.

...