mirror of
https://github.com/minio/minio.git
synced 2025-01-27 06:33:18 -05:00
Make priority queue lambda function return error over a channel
This commit is contained in:
parent
38a6ce36e5
commit
0533abf6a8
@ -30,24 +30,44 @@ type MySuite struct{}
|
|||||||
|
|
||||||
var _ = Suite(&MySuite{})
|
var _ = Suite(&MySuite{})
|
||||||
|
|
||||||
func helloTask1() error {
|
func helloTask1() <-chan error {
|
||||||
fmt.Println("Hello task1")
|
errCh := make(chan error)
|
||||||
return nil
|
go func() {
|
||||||
|
defer close(errCh)
|
||||||
|
println("Hello task1")
|
||||||
|
errCh <- nil
|
||||||
|
}()
|
||||||
|
return errCh
|
||||||
}
|
}
|
||||||
|
|
||||||
func helloTask2() error {
|
func helloTask2() <-chan error {
|
||||||
fmt.Println("Hello task2")
|
errCh := make(chan error)
|
||||||
return nil
|
go func() {
|
||||||
|
defer close(errCh)
|
||||||
|
println("Hello task2")
|
||||||
|
errCh <- nil
|
||||||
|
}()
|
||||||
|
return errCh
|
||||||
}
|
}
|
||||||
|
|
||||||
func newJob1() error {
|
func newJob1() <-chan error {
|
||||||
fmt.Println("New Job1")
|
errCh := make(chan error)
|
||||||
return nil
|
go func() {
|
||||||
|
defer close(errCh)
|
||||||
|
println("New Job1")
|
||||||
|
errCh <- nil
|
||||||
|
}()
|
||||||
|
return errCh
|
||||||
}
|
}
|
||||||
|
|
||||||
func newJob2() error {
|
func newJob2() <-chan error {
|
||||||
fmt.Println("New Job2")
|
errCh := make(chan error)
|
||||||
return nil
|
go func() {
|
||||||
|
defer close(errCh)
|
||||||
|
println("New Job2")
|
||||||
|
errCh <- nil
|
||||||
|
}()
|
||||||
|
return errCh
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *MySuite) TestPQ(c *C) {
|
func (s *MySuite) TestPQ(c *C) {
|
||||||
|
@ -18,7 +18,7 @@ package pq
|
|||||||
|
|
||||||
// Task container for any generic tasks
|
// Task container for any generic tasks
|
||||||
type Task struct {
|
type Task struct {
|
||||||
job func() error
|
job func() <-chan error
|
||||||
priority int
|
priority int
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,5 +34,5 @@ func (t Task) UpdatePriority(p int) {
|
|||||||
|
|
||||||
// Execute execute current task
|
// Execute execute current task
|
||||||
func (t Task) Execute() error {
|
func (t Task) Execute() error {
|
||||||
return t.job()
|
return <-t.job()
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user