示例#1
0
func TestCorpus(item *QueueItem, registry *registry.Registry, client *posting.Client, c chan *QueueItemRun) {
	docs := document.BuildTestCorpus(10, 20, 5000)
	for doc := <-docs; doc != nil; doc = <-docs {
		if err := doc.Save(registry); err != nil {
			c <- runFailure(item, "Save Document", err)
			return
		}
		if err := client.CallMultiple("Posting.Add", &document.DocumentArg{Id: &doc.Id}); err != nil {
			c <- runFailure(item, "RPC Call", err)
			return
		}
	}
	c <- runSuccess(item)
}
示例#2
0
func DeleteDocument(item *QueueItem, registry *registry.Registry, client *posting.Client, c chan *QueueItemRun) {
	doc, err := document.GetDocument(item.Target, registry)
	if err != nil {
		c <- runFailure(item, "Get Document", err)
		return
	}
	if err = client.CallMultiple("Posting.Delete", &document.DocumentArg{Id: &doc.Id}); err != nil {
		c <- runFailure(item, "RPC Call", err)
		return
	}
	if err = doc.Delete(registry); err != nil {
		c <- runFailure(item, "Delete Document", err)
		return
	}
	c <- runSuccess(item)
}
示例#3
0
func AddDocument(item *QueueItem, registry *registry.Registry, client *posting.Client, c chan *QueueItemRun) {
	values, err := item.PayloadValues()
	if err != nil {
		c <- runFailure(item, "Get Payload", err)
		return
	}
	doc, err := document.NewDocument(item.Target, values)
	if err != nil {
		c <- runFailure(item, "New Document", err)
		return
	}
	if err = doc.Save(registry); err != nil {
		c <- runFailure(item, "Save Document", err)
		return
	}
	if err = client.CallMultiple("Posting.Add", &document.DocumentArg{Id: &doc.Id}); err != nil {
		c <- runFailure(item, "RPC Call", err)
		return
	}
	c <- runSuccess(item)
}