当前位置: 首页>>代码示例>>Golang>>正文


Golang StoreAdapter.ListRecursively方法代码示例

本文整理汇总了Golang中github.com/cloudfoundry/storeadapter.StoreAdapter.ListRecursively方法的典型用法代码示例。如果您正苦于以下问题:Golang StoreAdapter.ListRecursively方法的具体用法?Golang StoreAdapter.ListRecursively怎么用?Golang StoreAdapter.ListRecursively使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/cloudfoundry/storeadapter.StoreAdapter的用法示例。


在下文中一共展示了StoreAdapter.ListRecursively方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: getAllTasks

func getAllTasks(store storeadapter.StoreAdapter, state models.TaskState) ([]*models.Task, error) {
	node, err := store.ListRecursively(TaskSchemaRoot)
	if err == storeadapter.ErrorKeyNotFound {
		return []*models.Task{}, nil
	}

	if err != nil {
		return []*models.Task{}, err
	}

	tasks := []*models.Task{}
	for _, node := range node.ChildNodes {
		task, err := models.NewTaskFromJSON(node.Value)
		if err != nil {
			steno.NewLogger("bbs").Errorf("cannot parse task JSON for key %s: %s", node.Key, err.Error())
		} else if task.State == state {
			tasks = append(tasks, &task)
		}
	}

	return tasks, nil
}
开发者ID:vito,项目名称:fake-diego-release,代码行数:22,代码来源:run_once_bbs.go

示例2:

	AfterEach(func() {
		storeAdapter.Disconnect()
	})

	Describe("Saving stop messages", func() {
		BeforeEach(func() {
			err := store.SavePendingStopMessages(
				message1,
				message2,
			)
			Ω(err).ShouldNot(HaveOccurred())
		})

		It("stores the passed in stop messages", func() {
			node, err := storeAdapter.ListRecursively("/hm/v1/stop")
			Ω(err).ShouldNot(HaveOccurred())
			Ω(node.ChildNodes).Should(HaveLen(2))
			Ω(node.ChildNodes).Should(ContainElement(storeadapter.StoreNode{
				Key:   "/hm/v1/stop/" + message1.StoreKey(),
				Value: message1.ToJSON(),
				TTL:   0,
			}))
			Ω(node.ChildNodes).Should(ContainElement(storeadapter.StoreNode{
				Key:   "/hm/v1/stop/" + message2.StoreKey(),
				Value: message2.ToJSON(),
				TTL:   0,
			}))
		})
	})
开发者ID:karlpilkington,项目名称:golang-devops-stuff,代码行数:29,代码来源:pending_stop_messages_test.go

示例3:

					close(done)
				})
			})

			PIt("adds a TTL to the associated app", func(done Done) {
				app2Service2 := domain.AppService{AppId: app2Service1.AppId, Url: "syslog://new.example.com:12345"}

				incomingChan <- domain.AppServices{
					AppId: app2Service1.AppId,
					Urls:  []string{app2Service1.Url, app2Service2.Url},
				}

				assertInStore(app2Service1, app2Service2)

				node, err := adapter.ListRecursively("/loggregator/services/app-2")
				Expect(err).NotTo(HaveOccurred())
				Expect(node.TTL).NotTo(BeZero())

				close(done)
			})
		})

		Context("when a service or app should be removed", func() {
			Context("when an existing app loses one of its services", func() {
				It("removes that service from the store", func(done Done) {
					incomingChan <- domain.AppServices{
						AppId: app1Service1.AppId,
						Urls:  []string{app1Service1.Url},
					}
开发者ID:nkuacac,项目名称:loggregator,代码行数:29,代码来源:app_service_store_test.go


注:本文中的github.com/cloudfoundry/storeadapter.StoreAdapter.ListRecursively方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。