Goではメソッドや関数の引数にcontext.Contextが含められていると何かと便利だ。 とはいえ、最初からアプリケーションがcontext.Contextを考慮していない場合もある。 アプリケーションを漸進的にcontext.Contextに対応させる方法を書いておく。 TL;DR キャンセル通知や透過的な情報をやりとりするための仕組みがcontext.Context ある操作のキャンセルを親gorotuineから伝える リクエストIDなどをネストしたメソッドに伝える(透過的な情報しか含めてはいけない!) 運用状態のアプリケーションの各メソッドを全てcontext.Contextに対応させるのは大変 context.TODO()を使って少しずつ始めよう https://golang.org/pkg/context/#TODO contextパッケージの思想を知るにはThe Go Bl