1
0
镜像自地址 https://github.com/tuna/tunasync.git 已同步 2025-12-06 14:36:47 +00:00

feature(manager): worker => workerStatus

这个提交包含在:
walkerning
2016-04-25 21:49:32 +08:00
提交者 bigeagle
父节点 a11fbe2c58
当前提交 734826fa67
共有 4 个文件被更改,包括 20 次插入20 次删除

查看文件

@@ -10,9 +10,9 @@ import (
type dbAdapter interface {
Init() error
ListWorkers() ([]worker, error)
GetWorker(workerID string) (worker, error)
CreateWorker(w worker) (worker, error)
ListWorkers() ([]workerStatus, error)
GetWorker(workerID string) (workerStatus, error)
CreateWorker(w workerStatus) (workerStatus, error)
UpdateMirrorStatus(workerID, mirrorID string, status mirrorStatus) (mirrorStatus, error)
GetMirrorStatus(workerID, mirrorID string) (mirrorStatus, error)
ListMirrorStatus(workerID string) ([]mirrorStatus, error)
@@ -61,11 +61,11 @@ func (b *boltAdapter) Init() (err error) {
})
}
func (b *boltAdapter) ListWorkers() (ws []worker, err error) {
func (b *boltAdapter) ListWorkers() (ws []workerStatus, err error) {
err = b.db.View(func(tx *bolt.Tx) error {
bucket := tx.Bucket([]byte(_workerBucketKey))
c := bucket.Cursor()
var w worker
var w workerStatus
for k, v := c.First(); k != nil; k, v = c.Next() {
jsonErr := json.Unmarshal(v, &w)
if jsonErr != nil {
@@ -79,7 +79,7 @@ func (b *boltAdapter) ListWorkers() (ws []worker, err error) {
return
}
func (b *boltAdapter) GetWorker(workerID string) (w worker, err error) {
func (b *boltAdapter) GetWorker(workerID string) (w workerStatus, err error) {
err = b.db.View(func(tx *bolt.Tx) error {
bucket := tx.Bucket([]byte(_workerBucketKey))
v := bucket.Get([]byte(workerID))
@@ -92,7 +92,7 @@ func (b *boltAdapter) GetWorker(workerID string) (w worker, err error) {
return
}
func (b *boltAdapter) CreateWorker(w worker) (worker, error) {
func (b *boltAdapter) CreateWorker(w workerStatus) (workerStatus, error) {
err := b.db.Update(func(tx *bolt.Tx) error {
bucket := tx.Bucket([]byte(_workerBucketKey))
v, err := json.Marshal(w)

查看文件

@@ -31,7 +31,7 @@ func TestBoltAdapter(t *testing.T) {
testWorkerIDs := []string{"test_worker1", "test_worker2"}
Convey("create worker", func() {
for _, id := range testWorkerIDs {
w := worker{
w := workerStatus{
ID: id,
Token: "token_" + id,
LastOnline: time.Now(),

查看文件

@@ -21,7 +21,7 @@ const (
_infoKey = "message"
)
type worker struct {
type workerStatus struct {
ID string `json:"id"` // worker name
Token string `json:"token"` // session token
LastOnline time.Time `json:"last_online"` // last seen
@@ -72,7 +72,7 @@ func (s *managerServer) listWorkers(c *gin.Context) {
// registerWorker register an newly-online worker
func (s *managerServer) registerWorker(c *gin.Context) {
var _worker worker
var _worker workerStatus
c.BindJSON(&_worker)
newWorker, err := s.adapter.CreateWorker(_worker)
if err != nil {

查看文件

@@ -31,8 +31,8 @@ func TestHTTPServer(t *testing.T) {
s := makeHTTPServer(false)
So(s, ShouldNotBeNil)
s.setDBAdapter(&mockDBAdapter{
workerStore: map[string]worker{
_magicBadWorkerID: worker{
workerStore: map[string]workerStatus{
_magicBadWorkerID: workerStatus{
ID: _magicBadWorkerID,
}},
statusStore: make(map[string]mirrorStatus),
@@ -67,7 +67,7 @@ func TestHTTPServer(t *testing.T) {
})
Convey("when register a worker", func() {
w := worker{
w := workerStatus{
ID: "test_worker1",
}
resp, err := postJSON(baseURL+"/workers", w)
@@ -153,7 +153,7 @@ func TestHTTPServer(t *testing.T) {
}
type mockDBAdapter struct {
workerStore map[string]worker
workerStore map[string]workerStatus
statusStore map[string]mirrorStatus
}
@@ -161,8 +161,8 @@ func (b *mockDBAdapter) Init() error {
return nil
}
func (b *mockDBAdapter) ListWorkers() ([]worker, error) {
workers := make([]worker, len(b.workerStore))
func (b *mockDBAdapter) ListWorkers() ([]workerStatus, error) {
workers := make([]workerStatus, len(b.workerStore))
idx := 0
for _, w := range b.workerStore {
workers[idx] = w
@@ -171,18 +171,18 @@ func (b *mockDBAdapter) ListWorkers() ([]worker, error) {
return workers, nil
}
func (b *mockDBAdapter) GetWorker(workerID string) (worker, error) {
func (b *mockDBAdapter) GetWorker(workerID string) (workerStatus, error) {
w, ok := b.workerStore[workerID]
if !ok {
return worker{}, fmt.Errorf("invalid workerId")
return workerStatus{}, fmt.Errorf("invalid workerId")
}
return w, nil
}
func (b *mockDBAdapter) CreateWorker(w worker) (worker, error) {
func (b *mockDBAdapter) CreateWorker(w workerStatus) (workerStatus, error) {
// _, ok := b.workerStore[w.ID]
// if ok {
// return worker{}, fmt.Errorf("duplicate worker name")
// return workerStatus{}, fmt.Errorf("duplicate worker name")
// }
b.workerStore[w.ID] = w
return w, nil