add git media queues for inspecting the queues

This commit is contained in:
rick 2013-10-21 11:36:06 -07:00 committed by Rick Olson
parent 3aca460d87
commit de78a0a094
2 changed files with 46 additions and 0 deletions

@ -0,0 +1,32 @@
package gitmedia
import (
".."
"../queuedir"
"fmt"
)
type QueuesCommand struct {
*Command
}
func (c *QueuesCommand) Run() {
err := gitmedia.WalkQueues(func(name string, queue *queuedir.Queue) error {
fmt.Println(name)
return queue.Walk(func(id string, body []byte) error {
fmt.Println(" " + string(body))
return nil
})
})
if err != nil {
fmt.Println("Error walking queues")
fmt.Println(err)
}
}
func init() {
registerCommand("queues", func(c *Command) RunnableCommand {
return &QueuesCommand{Command: c}
})
}

@ -12,6 +12,17 @@ func QueueUpload(sha string) {
}
}
func WalkQueues(cb func(name string, queue *queuedir.Queue) error) error {
var err error
for name, queuefunc := range queues {
err = cb(name, queuefunc())
if err != nil {
return err
}
}
return err
}
func getUploadQueue() *queuedir.Queue {
if uploadQueue == nil {
q, err := queueDir.Queue("upload")
@ -29,6 +40,9 @@ func setupQueueDir() *queuedir.QueueDir {
}
var (
queues = map[string]func() *queuedir.Queue{
"upload": getUploadQueue,
}
queueDir *queuedir.QueueDir
uploadQueue *queuedir.Queue
)