當前位置: 首頁>>代碼示例>>Golang>>正文


Golang dingo.Meta類代碼示例

本文整理匯總了Golang中github.com/mission-liao/dingo.Meta的典型用法代碼示例。如果您正苦於以下問題:Golang Meta類的具體用法?Golang Meta怎麽用?Golang Meta使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Meta類的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: Done

func (me *backend) Done(meta dingo.Meta) (err error) {
	var v int
	err = func() (err error) {
		var (
			ok  bool
			ids map[string]int
		)

		me.ridsLock.Lock()
		defer me.ridsLock.Unlock()

		if ids, ok = me.rids[meta.Name()]; ok {
			v, ok = ids[meta.ID()]
			delete(ids, meta.ID())
		}
		if !ok {
			err = errors.New("store id not found")
			return
		}

		return
	}()
	if err == nil {
		err = me.stores.Stop(v)
	}
	return
}
開發者ID:MogeiWang,項目名稱:dingo,代碼行數:27,代碼來源:backend.go

示例2: Send

func (me *broker) Send(id dingo.Meta, body []byte) (err error) {
	conn := me.pool.Get()
	defer conn.Close()

	_, err = conn.Do("LPUSH", fmt.Sprintf("%v.%v", _redisTaskQueue, id.Name()), body)
	if err != nil {
		return
	}

	return
}
開發者ID:MogeiWang,項目名稱:dingo,代碼行數:11,代碼來源:broker.go

示例3: Poll

func (me *backend) Poll(meta dingo.Meta) (reports <-chan []byte, err error) {
	quit, done, idx := me.stores.New(0)

	me.ridsLock.Lock()
	defer me.ridsLock.Unlock()
	if v, ok := me.rids[meta.Name()]; ok {
		v[meta.ID()] = idx
	} else {
		me.rids[meta.Name()] = map[string]int{meta.ID(): idx}
	}

	r := make(chan []byte, 10)
	reports = r
	go me._store_routine_(quit, done, me.stores.Events(), r, meta)

	return
}
開發者ID:MogeiWang,項目名稱:dingo,代碼行數:17,代碼來源:backend.go

示例4: getConsumerTag

func getConsumerTag(meta dingo.Meta) string {
	return fmt.Sprintf("dingo.consumer.%s.%s", meta.Name(), meta.ID())
}
開發者ID:MogeiWang,項目名稱:dingo,代碼行數:3,代碼來源:backend.go

示例5: getRoutingKey

func getRoutingKey(meta dingo.Meta) string {
	return fmt.Sprintf("dingo.rkey.%s.%s", meta.Name(), meta.ID())
}
開發者ID:MogeiWang,項目名稱:dingo,代碼行數:3,代碼來源:backend.go

示例6: getQueueName

func getQueueName(meta dingo.Meta) string {
	return fmt.Sprintf("dingo.q.%s.%s", meta.Name(), meta.ID())
}
開發者ID:MogeiWang,項目名稱:dingo,代碼行數:3,代碼來源:backend.go


注:本文中的github.com/mission-liao/dingo.Meta類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。