Commit 1d827314 authored by vicotor's avatar vicotor

update workerRunningInfo and test case

parent acaa5448
version: "3.5"
services:
redis:
container_name: "redis"
image: "redis:latest"
restart: always
networks:
- default
environment:
- TZ=Asia/Shanghai
command: /usr/local/bin/redis-server /etc/redis/redis.conf
ports:
- "6379:6379"
volumes:
- "/etc/localtime:/etc/localtime"
mongo:
image: mongo:latest
container_name: mongo
......@@ -25,12 +12,7 @@ services:
networks:
- MONGO
volumes:
- type: volume
source: MONGO_DATA
target: /data/operator
- type: volume
source: MONGO_CONFIG
target: /data/configdb
- './mongo-data:/data/db'
mongo-express:
image: mongo-express:latest
container_name: mongo-express
......@@ -49,9 +31,3 @@ services:
networks:
MONGO:
name: MONGO
volumes:
MONGO_DATA:
name: MONGO_DATA
MONGO_CONFIG:
name: MONGO_CONFIG
\ No newline at end of file
......@@ -72,7 +72,10 @@ func (d *WorkerInstalledOperator) Get(ctx context.Context, id string) (*WorkerIn
func (d *WorkerInstalledOperator) Clear() int64 {
res, _ := d.col.DeleteMany(context.Background(), bson.M{})
return res.DeletedCount
if res != nil {
return res.DeletedCount
}
return 0
}
//
......
......@@ -27,6 +27,22 @@ func NewDBWorkerRunning(client *mongo.Client, database string) *WorkerRunningOpe
}
}
func (d *WorkerRunningOperator) CreateIndex(ctx context.Context) error {
_, err := d.col.Indexes().CreateOne(ctx, mongo.IndexModel{
Keys: bson.D{{"model_id", 1}, {"exec_time", 1}},
//Options: options.Index().SetUnique(true),
})
return err
}
func (d *WorkerRunningOperator) Clear() int64 {
result, _ := d.col.DeleteMany(context.Background(), bson.M{})
if result != nil {
return result.DeletedCount
}
return 0
}
func (d *WorkerRunningOperator) InsertMany(ctx context.Context, workers []*WorkerRunningInfo) (*mongo.InsertManyResult, error) {
var docs []interface{}
for _, worker := range workers {
......
......@@ -152,8 +152,17 @@ func BenchmarkDbWorkerRunning_FindWorkerByModelId(b *testing.B) {
if err != nil {
log.Fatal(err)
}
b.StopTimer()
db := NewDBWorkerRunning(client, database)
defer db.client.Disconnect(context.Background())
once.Do(func() {
db.Clear()
if err := db.CreateIndex(context.Background()); err != nil {
b.Fatal(err)
}
idlist = initdata(client, 10000, true, false, true)
})
b.StartTimer()
b.ResetTimer()
for i := 0; i < b.N; i++ {
modelId := getRandIdInt(maxModelId)
......@@ -170,8 +179,18 @@ func BenchmarkDbWorkerRunning_FindWorkerByModelId_Parallel(b *testing.B) {
if err != nil {
log.Fatal(err)
}
b.StopTimer()
db := NewDBWorkerRunning(client, database)
defer db.client.Disconnect(context.Background())
once.Do(func() {
db.Clear()
if err := db.CreateIndex(context.Background()); err != nil {
b.Fatal(err)
}
idlist = initdata(client, 10000, true, false, true)
})
b.StartTimer()
b.ResetTimer()
b.RunParallel(func(pb *testing.PB) {
for pb.Next() {
modelId := getRandIdInt(maxModelId)
......
......@@ -42,8 +42,12 @@ func (d *WorkerInfoOperator) CreateIndex(ctx context.Context) error {
return err
}
func (d *WorkerInfoOperator) Clear() {
d.col.DeleteMany(context.Background(), bson.M{})
func (d *WorkerInfoOperator) Clear() int64 {
res, _ := d.col.DeleteMany(context.Background(), bson.M{})
if res != nil {
return res.DeletedCount
}
return 0
}
func (d *WorkerInfoOperator) Get(ctx context.Context, id string) (*WorkerInfo, error) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment