go-flow

A cancellable concurrent pattern for Go programming language Go routine and channels facilitate developers to do concurrent programming. However, it is not easy for a beginner to write bug-free fan-out/fan-in go-routines. Especially when dealing with a complex flow net, make it cancellable is not that straightforward. Consider following situations: There are 5 ways to exit from a go routine job: Successful return void or result(s) Expected error return Unexpected panic / error Job is timeout Job is cancelled from another go routine There are 2 actions to deal with panic / error : [Read More]