go語(yǔ)言使用nsq(producer)

NSQ(https://github.com/bitly/nsq)是一個(gè)基于Go語(yǔ)言的分布式實(shí)時(shí)消息平臺(tái)。
下面是我使用的一個(gè)nsq producer的源碼例子。希望幫到需要的朋友。

package main

import (

    "fmt"
    "flag"

    "github.com/crackcomm/nsqueue/producer"
)

var (
    nsqdAddr        = flag.String("nsqd", "127.0.0.1:4150", "nsqd http address")
)

// UploadMsg represent the msg sent to download task.
type UploadMsg struct {
    Bucket       string
    Object       string
    ContentType  string
    Author       string
    Size         int64

    SrcFilePath     string   //源路徑
    DstFilePath    string   //目標(biāo)路徑
}

// SendTask - to send upload task to nsq.
func SendTask(msg *UploadMsg) error {
    myProducer := producer.New()
    myProducer.Connect(*nsqdAddr)

    myProducer.PublishJSON("latency-test", msg)
    myProducer.Stop()
    return nil
}

func main() {
    flag.Parse()
    var msg UploadMsg
    msg.Bucket = "new_bucket"
    msg.Object = "new_object"
    msg.ContentType = "type"
    msg.Author = "bary"
    msg.Size = 666
    msg.SrcFilePath = "/tmp/qidong"
    msg.DstFilePath = "/raid/qidong"
    err := SendTask(&msg)
    if err != nil {
        fmt.Println(err.Error())
    }
    fmt.Println("Done !")
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,516評(píng)論 19 139
  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個(gè) Awesome - XXX 系列...
    aimaile閱讀 26,823評(píng)論 6 427
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,825評(píng)論 25 709
  • 春天快到了,萬物開始復(fù)蘇,很多生命都是在春季繁衍的,我們每放一條物命,等于間接放了千萬生靈。再加上過年期間,殺業(yè)太...
    仁義居士閱讀 448評(píng)論 0 0
  • 春半燕子語(yǔ), 繞梁結(jié)畫壁。 問子念故人? 嘰嘰復(fù)嘰嘰。
    十四喬閱讀 219評(píng)論 0 0

友情鏈接更多精彩內(nèi)容