Skip to content
This repository was archived by the owner on Mar 5, 2026. It is now read-only.

Commit d206ee9

Browse files
committed
split package
1 parent 8364fd8 commit d206ee9

File tree

6 files changed

+124
-8
lines changed

6 files changed

+124
-8
lines changed

example/go.mod

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module main
2+
3+
go 1.20

example/main.go

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,106 @@
11
package main
2+
3+
import (
4+
"fmt"
5+
"time"
6+
7+
"https://github.com/manhvu/easyworker"
8+
)
9+
10+
func main() {
11+
12+
fn3 := func(a ...int) int {
13+
sum := 0
14+
for _, i := range a {
15+
sum += i
16+
}
17+
return sum
18+
}
19+
20+
fn := func(a int, b int) int {
21+
if a%3 == 0 {
22+
panic("panic from user func")
23+
}
24+
return a + b
25+
}
26+
27+
fn2 := func(a int, suffix string) string {
28+
if a%3 == 0 {
29+
panic("panic from user func")
30+
}
31+
return fmt.Sprintf("%d_%s", a, suffix)
32+
}
33+
34+
eWorker, err := easyworker.NewEasyWorker(fn3, 3, 1)
35+
if err != nil {
36+
fmt.Println("cannot create EasyWorker, ", err)
37+
return
38+
}
39+
40+
eWorker.AddParams(1, 2, 3)
41+
eWorker.AddParams(3, 4, 5, 6, 7)
42+
43+
r, e := eWorker.Run()
44+
if e != nil {
45+
fmt.Println("run task failed, ", e)
46+
} else {
47+
fmt.Println("task result:", r)
48+
}
49+
50+
eWorker, err = easyworker.NewEasyWorker(fn, 1, 0)
51+
if err != nil {
52+
fmt.Println("cannot create EasyWorker, ", err)
53+
return
54+
}
55+
56+
for i := 1; i <= 5; i++ {
57+
eWorker.AddParams(i, i)
58+
}
59+
r, e = eWorker.Run()
60+
if e != nil {
61+
fmt.Println("run task failed, ", e)
62+
} else {
63+
fmt.Println("task result:", r)
64+
}
65+
66+
inCh := make(chan []interface{}, 1)
67+
outCh := make(chan interface{})
68+
69+
time.Sleep(time.Millisecond)
70+
71+
// test with stream.
72+
eWorker, err = easyworker.NewEasyWorkerStream(inCh, outCh, fn2, 2, 1)
73+
if err != nil {
74+
fmt.Println("create EasyWorker failed, ", err)
75+
}
76+
77+
e = eWorker.RunStream()
78+
if e != nil {
79+
fmt.Println("run stream task failed, ", e)
80+
} else {
81+
fmt.Println("stream is running")
82+
}
83+
84+
go func() {
85+
for {
86+
r := <-outCh
87+
fmt.Println("stream result: ", r)
88+
}
89+
}()
90+
91+
go func() {
92+
for i := 0; i < 15; i++ {
93+
input := []interface{}{i, "3"}
94+
inCh <- input
95+
fmt.Println("stream sent: ", input)
96+
97+
}
98+
}()
99+
100+
time.Sleep(2 * time.Second)
101+
102+
fmt.Println("send stop signal to stream")
103+
eWorker.StopStream()
104+
105+
time.Sleep(time.Second)
106+
}

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
module github.com/manhvu/easy_worker
1+
module github.com/manhvu/easyworker
22

33
go 1.20

pkg/main.go

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
1-
package main
1+
package easyworker
22

33
import (
44
"fmt"
55
"time"
66
)
77

8-
func main() {
8+
func FullTest() {
9+
10+
fn3 := func(a ...int) int {
11+
sum := 0
12+
for _, i := range a {
13+
sum += i
14+
}
15+
return sum
16+
}
917

1018
fn := func(a int, b int) int {
1119
if a%3 == 0 {
@@ -21,14 +29,14 @@ func main() {
2129
return fmt.Sprintf("%d_%s", a, suffix)
2230
}
2331

24-
eWorker, err := NewEasyWorker(fn2, 2, 1)
32+
eWorker, err := NewEasyWorker(fn3, 3, 1)
2533
if err != nil {
2634
fmt.Println("cannot create EasyWorker, ", err)
2735
return
2836
}
2937

30-
eWorker.AddParams(1, "tested")
31-
eWorker.AddParams(3, "ok")
38+
eWorker.AddParams(1, 2, 3)
39+
eWorker.AddParams(3, 4, 5, 6, 7)
3240

3341
r, e := eWorker.Run()
3442
if e != nil {

pkg/supervisor.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package main
1+
package easyworker
22

33
import (
44
"errors"

pkg/worker.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package main
1+
package easyworker
22

33
import (
44
"fmt"

0 commit comments

Comments
 (0)