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


Golang AgentServiceRegistration.Check方法代碼示例

本文整理匯總了Golang中github.com/hashicorp/consul/api.AgentServiceRegistration.Check方法的典型用法代碼示例。如果您正苦於以下問題:Golang AgentServiceRegistration.Check方法的具體用法?Golang AgentServiceRegistration.Check怎麽用?Golang AgentServiceRegistration.Check使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在github.com/hashicorp/consul/api.AgentServiceRegistration的用法示例。


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

示例1: Register

func (r *ConsulAdapter) Register(service *bridge.Service) error {
	registration := new(consulapi.AgentServiceRegistration)
	registration.ID = service.ID
	registration.Name = service.Name
	registration.Port = service.Port
	registration.Tags = service.Tags
	registration.Address = service.IP
	registration.Check = r.buildCheck(service)
	if r.servicePrefix != "" {
		kv := r.client.KV()
		addr := service.IP + ":" + strconv.Itoa(service.Port)
		host_path := r.servicePrefix + "/" + "nodes/" + service.ID + "/"
		service_path := r.servicePrefix + "/" + "services/" + service.Name + "/" + service.ID + "/"
		_, err := kv.Put(&consulapi.KVPair{Key: host_path + "URI", Value: []byte(addr)}, nil)
		if err != nil {
			return (err)
		}
		_, err = kv.Put(&consulapi.KVPair{Key: service_path + "URI", Value: []byte(addr)}, nil)
		if err != nil {
			return (err)
		}
		for k, v := range service.Attrs {
			_, err := kv.Put(&consulapi.KVPair{Key: host_path + k, Value: []byte(v)}, nil)
			if err != nil {
				return (err)
			}
			_, err = kv.Put(&consulapi.KVPair{Key: service_path + k, Value: []byte(v)}, nil)
			if err != nil {
				return (err)
			}
		}
	}
	return r.client.Agent().ServiceRegister(registration)
}
開發者ID:m3adow,項目名稱:registrator_consul_kv,代碼行數:34,代碼來源:consul.go

示例2: Register

// Register will register ConsulAdapter's interface with RegistryAdapter
func (r *ConsulAdapter) Register(service *bridge.Service) error {
	registration := new(consulapi.AgentServiceRegistration)
	registration.ID = service.ID
	registration.Name = service.Name
	registration.Port = service.Port
	registration.Tags = service.Tags
	registration.Address = service.IP
	registration.Check = r.buildCheck(service)
	return r.client.Agent().ServiceRegister(registration)
}
開發者ID:jojimt,項目名稱:netplugin,代碼行數:11,代碼來源:consul.go

示例3: Register

func (r *ConsulAdapter) Register(service *bridge.Service) error {
	registration := new(consulapi.AgentServiceRegistration)
	registration.ID = service.ID
	registration.Name = service.Name
	registration.Port = service.Port
	registration.Tags = service.Tags
	registration.Address = service.IP
	registration.Check = r.buildCheck(service)
	if r.servicePrefix != "" {
		kv := r.client.KV()
		for k, v := range service.Attrs {
			pair := &consulapi.KVPair{Key: r.servicePrefix + "/" + service.ID + "/" + k, Value: []byte(v)}
			_, err := kv.Put(pair, nil)
			if err != nil {
				panic(err)
			}
		}
	}
	return r.client.Agent().ServiceRegister(registration)
}
開發者ID:Dexels,項目名稱:registrator,代碼行數:20,代碼來源:consul.go

示例4:

			Expect(err).NotTo(HaveOccurred())
			service, ok := services[registration.ID]
			Expect(ok).To(BeTrue())
			Expect(*service).To(Equal(api.AgentService{
				ID:      registration.ID,
				Service: registration.Name,
				Tags:    registration.Tags,
				Port:    registration.Port,
				Address: registration.Address,
			}))
		})

		Context("when using a TTL check", func() {
			BeforeEach(func() {
				registration.Check = &api.AgentServiceCheck{
					TTL: "10s",
				}
			})

			It("registers the service", func() {
				services, err := consulClient.Agent().Services()
				Expect(err).NotTo(HaveOccurred())
				service, ok := services[registration.ID]
				Expect(ok).To(BeTrue())
				Expect(*service).To(Equal(api.AgentService{
					ID:      registration.ID,
					Service: registration.Name,
					Tags:    registration.Tags,
					Port:    registration.Port,
					Address: registration.Address,
				}))
開發者ID:cloudfoundry,項目名稱:locket,代碼行數:31,代碼來源:registration_runner_test.go


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