Go 语言优雅退出库 shutdown

码农软件 · 软件分类 · 常用工具包 · 2019-08-13 18:57:44

软件介绍

Go 语言在 1.7 版本中增加了 Context 库,优雅退出的实现有了一个统一的实现方式。

Go 语言 1.8 版本中 HTTP 服务使用 Context 实现了优雅退出。

使用此库可以方便地实现优雅退出:

    // Generate a new context
    ctx := NewContext()

    // Run service with this context
    go func(ctx context.Context) {
        if err := ExitWaitGroupAdd(ctx, 1); err != nil {
            return
        }
        defer ExitWaitGroupDone(ctx)

        otherEvent := make(chan struct{})
    FOR_LOOP:
        for {
            select {
            case <-ctx.Done():
                break FOR_LOOP
            case <-otherEvent:
                // ...
            }
        }

        // Some close processes
    }(ctx)

    // Wait interrupt signal
    sig := make(chan os.Signal)
    signal.Notify(sig, os.Interrupt)
    <-sig
    if err := Shutdown(ctx, time.Second*5); err != nil {
        log.Println("Shutdown error:", err)
        return
    }

本文地址:https://codercto.com/soft/d/12296.html

平台战略

平台战略

陈威如、余卓轩 / 中信出版社 / 2013-1 / 58.00元

《平台战略:正在席卷全球的商业模式革命》内容简介:平台商业模式的精髓,在于打造一个完善的、成长潜能强大的“生态圈”。它拥有独树一帜的精密规范和机制系统,能有效激励多方群体之间互动,达成平台企业的愿景。纵观全球许多重新定义产业架构的企业,我们往往就会发现它们成功的关键——建立起良好的“平台生态圈”,连接两个以上群体,弯曲、打碎了既有的产业链。 平台生态圈里的一方群体,一旦因为需求增加而壮大,另......一起来看看 《平台战略》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器