問題タブ [go-graceful]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - Golang 未定義
Go でアプリケーションをコンパイルしようとすると、次のエラーが発生します。
何が間違っているのかわかりません。
http.go {行 104}:
http.go {行 114}:
http.go {行 154}:
Import() セクション:
setup.go {24行目}:
Import() セクション:
testing - Go でグレースフル リスタートを表示またはテストするにはどうすればよいですか?
HTTP over ginを提供しています https://github.com/fvbock/endless。基本的な HTTP サーバーとの違いを確認したいと思います。
私はsyscall.SIGUSR1
信号を送信しました:
アプリは終了しませんが、再起動を検出できません。
私がしなければならないことは、toml 構成ファイルが変更されたときにアプリの新しい構成を初期化することです。
私のコードは次のとおりです。
再起動エンドポイントに到達したら、toml 構成を出力します。
http - エラー処理を伴う Golang の正常な HTTP サーバーのシャットダウン
HTTP サーバーを正常にシャットダウンしようとしています。ここの投稿からヒントを得て、これまでに次のようにコードを設定しました。
したがって、これがどのように機能するかについていくつか質問があります。
1)上記でリンクした回答にはListenAndServe()
、ゴルーチン内のエラー処理について「注:次の行が実行される時間がない可能性があります...」と記載されています。serverError()
完了が保証されることを確認するにはどうすればよいですか? そのスレッドである種のブロッキングを行う必要がありますか、それともメインスレッドで呼び出すことができるチャネルを作成する必要がありますか?
2) 現時点では、エラーが発生したかどうか、またはエラーが発生してシャットダウンしたかどうかServer.ShutDown()
を判断する方法があるかどうかはわかりません。メソッドを使用してもエラーはスローされますかhttp.Server
? それが、リンクで受け入れられた回答がエラーをチェックするときに使用する理由ですか?ListenAndServe()
Server.ShutDown()
err != http.ErrServerClosed
ListenAndServe()
3)start()
関数は (もちろん) メインスレッドで実行されます。プログラムが戻って終了しないように、何らかの形でそのスレッドをブロックする必要はありませんか、ListenAndServe()
それとも私のためにそれを処理しますか?
4) 呼び出した後、リスナーServer.ShutDown()
をシャットダウンするために何かする必要がありますか?http.HandleFunc()
これらのトピックのいずれかについてのヘルプは大歓迎ですので、一度にすべてに触れられなくても心配しないでください :)
編集: 誰かが私がこれをすべて正しく機能させる方法を見たい場合は、このファイルの 225 行目以降を参照してください。