1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Go MachineryGo 異步任務(wù)隊(duì)列

        聯(lián)合創(chuàng)作 · 2023-09-29 13:37

        Machinery 是一個(gè) Go 語(yǔ)言的異步任務(wù)隊(duì)列和作業(yè)隊(duì)列,基于分布式消息傳遞。類似 Python 的 Celery 框架。

        Machinery 中的任務(wù)(或者作業(yè))可通過(guò)多個(gè) worker 在很多服務(wù)器上并發(fā)的執(zhí)行,或者可在單個(gè)服務(wù)器上利用 Go 的協(xié)程運(yùn)行多個(gè) worker 進(jìn)程。

        任務(wù)的定義:

        type AddTask struct{}
        
        func (t AddTask) Run(args []interface{}) (interface{}, error) {
            parsedArgs, err := machinery.ParseNumberArgs(args)
            if err != nil {
                return nil, err
            }
        
            add := func(args []float64) float64 {
                sum := 0.0
                for _, arg := range args {
                    sum += arg
                }
                return sum
            }
        
            return add(parsedArgs), nil
        }
        
        type MultiplyTask struct{}
        
        func (t MultiplyTask) Run(args []interface{}) (interface{}, error) {
            parsedArgs, err := machinery.ParseNumberArgs(args)
            if err != nil {
                return nil, err
            }
        
            multiply := func(args []float64) float64 {
                sum := 1.0
                for _, arg := range args {
                    sum *= arg
                }
                return sum
            }
        
            return multiply(parsedArgs), nil
        }
        
        // ... more tasks

        任務(wù)注冊(cè):

        tasks := map[string]machinery.Task{
            "add":      AddTask{},
            "multiply": MultiplyTask{},
        }
        app.RegisterTasks(tasks)


        瀏覽 19
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            翔田千里一区二区三区 | gay偷拍拍男浴室spy | gogo高清无码 | 国产精品自拍偷怕 | 欧美日一本| 女十八免费毛片视频 | 成人免费乱码大片在线播放 | 日 韩 福利 资源 | 黄色色情网站在线观看 | 毛片网络|