mirror of https://github.com/Dreamacro/clash.git
Chore: adjust batch
This commit is contained in:
parent
4578b2c826
commit
09697b7679
|
@ -59,7 +59,7 @@ func (hc *HealthCheck) touch() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (hc *HealthCheck) check() {
|
func (hc *HealthCheck) check() {
|
||||||
b := batch.New(batch.WithConcurrencyNum(10))
|
b, _ := batch.New(context.Background(), batch.WithConcurrencyNum(10))
|
||||||
for _, proxy := range hc.proxies {
|
for _, proxy := range hc.proxies {
|
||||||
p := proxy
|
p := proxy
|
||||||
b.Go(p.Name(), func() (interface{}, error) {
|
b.Go(p.Name(), func() (interface{}, error) {
|
||||||
|
|
|
@ -89,7 +89,9 @@ func (b *Batch) Result() map[string]Result {
|
||||||
return copy
|
return copy
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(opts ...Option) *Batch {
|
func New(ctx context.Context, opts ...Option) (*Batch, context.Context) {
|
||||||
|
ctx, cancel := context.WithCancel(ctx)
|
||||||
|
|
||||||
b := &Batch{
|
b := &Batch{
|
||||||
result: map[string]Result{},
|
result: map[string]Result{},
|
||||||
}
|
}
|
||||||
|
@ -98,14 +100,6 @@ func New(opts ...Option) *Batch {
|
||||||
o(b)
|
o(b)
|
||||||
}
|
}
|
||||||
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
func WithContext(ctx context.Context, opts ...Option) (*Batch, context.Context) {
|
|
||||||
ctx, cancel := context.WithCancel(ctx)
|
|
||||||
|
|
||||||
b := New(opts...)
|
|
||||||
b.cancel = cancel
|
b.cancel = cancel
|
||||||
|
|
||||||
return b, ctx
|
return b, ctx
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestBatch(t *testing.T) {
|
func TestBatch(t *testing.T) {
|
||||||
b := New()
|
b, _ := New(context.Background())
|
||||||
|
|
||||||
now := time.Now()
|
now := time.Now()
|
||||||
b.Go("foo", func() (interface{}, error) {
|
b.Go("foo", func() (interface{}, error) {
|
||||||
|
@ -37,7 +37,8 @@ func TestBatch(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestBatchWithConcurrencyNum(t *testing.T) {
|
func TestBatchWithConcurrencyNum(t *testing.T) {
|
||||||
b := New(
|
b, _ := New(
|
||||||
|
context.Background(),
|
||||||
WithConcurrencyNum(3),
|
WithConcurrencyNum(3),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -61,7 +62,7 @@ func TestBatchWithConcurrencyNum(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestBatchContext(t *testing.T) {
|
func TestBatchContext(t *testing.T) {
|
||||||
b, ctx := WithContext(context.Background())
|
b, ctx := New(context.Background())
|
||||||
|
|
||||||
b.Go("error", func() (interface{}, error) {
|
b.Go("error", func() (interface{}, error) {
|
||||||
time.Sleep(time.Millisecond * 100)
|
time.Sleep(time.Millisecond * 100)
|
||||||
|
|
Loading…
Reference in New Issue