Skip to content

Commit 898d848

Browse files
committed
switch dao/deque
1 parent c5ec189 commit 898d848

File tree

7 files changed

+29
-297
lines changed

7 files changed

+29
-297
lines changed

go.mod

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ module github.com/lxzan/concurrency
33
go 1.20
44

55
require (
6+
github.com/lxzan/dao v1.1.7
67
github.com/pkg/errors v0.9.1
7-
github.com/stretchr/testify v1.8.1
8+
github.com/stretchr/testify v1.8.4
89
)
910

1011
require (

go.sum

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
1-
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
21
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
32
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
3+
github.com/lxzan/dao v1.1.7 h1:I049e67buJIpr4QJ/vJbHSjKMLN4ZJlSMeK3Rq+CJl8=
4+
github.com/lxzan/dao v1.1.7/go.mod h1:5ChTIo7RSZ4upqRo16eicJ3XdJWhGwgMIsyuGLMUofM=
45
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
56
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
67
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
78
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
8-
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
9-
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
10-
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
11-
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
12-
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
13-
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
14-
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
9+
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
10+
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
1511
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
1612
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
17-
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
1813
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
1914
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

groups/group.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,18 @@ type (
2020
Caller func(args any, f func(any) error) error
2121

2222
Group[T any] struct {
23-
options *options // 配置
24-
mu sync.Mutex // 锁
25-
ctx context.Context // 上下文
26-
cancelFunc context.CancelFunc // 取消函数
27-
canceled atomic.Uint32 // 是否已取消
28-
errs []error // 错误
29-
done chan bool // 完成信号
30-
q []T // 任务队列
31-
taskDone int64 // 已完成任务数量
32-
taskTotal int64 // 总任务数量
33-
OnMessage func(args T) error // 任务处理
34-
OnError func(err error) // 错误处理
23+
options *options // 配置
24+
mu sync.Mutex // 锁
25+
ctx context.Context // 上下文
26+
cancelFunc context.CancelFunc // 取消函数
27+
canceled atomic.Uint32 // 是否已取消
28+
errs []error // 错误
29+
done chan bool // 完成信号
30+
q []T // 任务队列
31+
taskDone int64 // 已完成任务数量
32+
taskTotal int64 // 总任务数量
33+
OnMessage func(args T) error // 任务处理
34+
OnError func(args T, err error) // 错误处理
3535
}
3636
)
3737

@@ -53,7 +53,7 @@ func New[T any](opts ...Option) *Group[T] {
5353
c.OnMessage = func(args T) error {
5454
return nil
5555
}
56-
c.OnError = func(err error) {}
56+
c.OnError = func(args T, err error) {}
5757

5858
return c
5959
}
@@ -104,7 +104,7 @@ func (c *Group[T]) do(args T) {
104104
c.mu.Lock()
105105
c.errs = append(c.errs, err)
106106
c.mu.Unlock()
107-
c.OnError(err)
107+
c.OnError(args, err)
108108
}
109109

110110
if c.incrAndIsDone() {

groups/group_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ func TestNewTaskGroup(t *testing.T) {
9696
return nil
9797
}
9898
}
99-
ctl.OnError = func(err error) {
99+
ctl.OnError = func(args int, err error) {
100100
ctl.Cancel()
101101
}
102102
err := ctl.Start()

internal/queue.go

Lines changed: 0 additions & 126 deletions
This file was deleted.

internal/queue_test.go

Lines changed: 0 additions & 138 deletions
This file was deleted.

0 commit comments

Comments
 (0)