すべてのオプション
trixie  ] [  sid  ]
[ ソース: golang-github-joshuarubin-lifecycle  ]

パッケージ: golang-github-joshuarubin-lifecycle-dev (1.1.4-2)

golang-github-joshuarubin-lifecycle-dev に関するリンク

Screenshot

Debian の資源:

golang-github-joshuarubin-lifecycle ソースパッケージをダウンロード:

メンテナ:

外部の資源:

類似のパッケージ:

manage goroutines in golang applications (library)

lifecycle helps manage goroutines at the application level. context.Context has been great for propagating cancellation signals, but not for getting any feedback about when goroutines actually finish. This package works with context.Context to ensure that applications don't quit before their goroutines do.

The semantics work similarly to the go (lifecycle.Go) and defer (lifecycle.Defer) keywords as well as sync.WaitGroup.Wait (lifecycle.Wait). Additionally, there are lifecycle.GoErr and lifecycle.DeferErr which only differ in that they take funcs that return errors.

lifecycle.Wait will block until one of the following happens:

  - all funcs registered with Go complete successfully then all funcs
    registered with Defer complete successfully
  - a func registered with Go returns an error, immediately canceling ctx and
    triggering Defer funcs to run. Once all Go and Defer funcs complete, Wait
    will return the error
  - a signal (by default SIGINT and SIGTERM, but configurable with
    WithSignals) is received, immediately canceling ctx and triggering Defer
    funcs to run. Once all Go and Defer funcs complete, Wait will return
    ErrSignal
  - a func registered with Go or Defer panics. the panic will be propagated to
    the goroutine that Wait runs in. there is no attempt, in case of a panic,
    to manage the state within the lifecycle package.

その他の golang-github-joshuarubin-lifecycle-dev 関連パッケージ

  • 依存
  • 推奨
  • 提案
  • enhances

golang-github-joshuarubin-lifecycle-dev のダウンロード

すべての利用可能アーキテクチャ向けのダウンロード
アーキテクチャ パッケージサイズ インストールサイズ ファイル
all 7.9 kB36.0 kB [ファイル一覧]