github.com/weedge/lib@v0.0.0-20230424045628-a36dcc1d90e4/pool/asynctask/example_asynctask_test.go (about) 1 package asynctask 2 3 import ( 4 "fmt" 5 ) 6 7 type testTask struct { 8 Name string 9 } 10 11 func newTestTask(Name string) (m *testTask) { 12 m = &testTask{ 13 Name: Name, 14 } 15 16 return m 17 } 18 19 func (m *testTask) Run() (err error) { 20 //println("name", m.Name) 21 if m.Name == "err" { 22 return fmt.Errorf("wo qu err le") 23 } 24 25 return 26 } 27 28 func ExampleAsyncTask_NewAsyncTask() { 29 asyncTask, err := NewAsyncTask("async.task.test", 3, 3, func(err error) { 30 return 31 }) 32 if err != nil { 33 println("err", err.Error()) 34 return 35 } 36 asyncTask, err = NewAsyncTask("async.task.test", 3, 3, func(err error) { 37 return 38 }) 39 if err != nil { 40 println("err", err.Error()) 41 return 42 } 43 44 asyncTask.Post(newTestTask("hello")) 45 46 // Output: 47 // 48 } 49 50 func ExampleAsyncTask_Ops() { 51 asyncTask, err := NewAsyncTask("async.task.test", 3, 3, func(err error) { 52 fmt.Println("Run err", err.Error()) 53 return 54 }) 55 if err != nil { 56 println("err", err.Error()) 57 return 58 } 59 60 asyncTask.Post(newTestTask("hello"), newTestTask("err")) 61 62 asyncTask.Close() 63 64 // Output: 65 // Run err wo qu err le 66 }