github.com/zly-app/zapp@v1.3.3/component/gpool/job.go (about)

     1  /*
     2  -------------------------------------------------
     3     Author :       zlyuancn
     4     date:         2021/3/19
     5     Description :
     6  -------------------------------------------------
     7  */
     8  
     9  package gpool
    10  
    11  import (
    12  	"github.com/zly-app/zapp/pkg/utils"
    13  )
    14  
    15  type job struct {
    16  	// 执行函数
    17  	fn       func() error
    18  	callback func(err error)
    19  	err      error
    20  }
    21  
    22  func newJob(fn func() error, callback func(err error)) *job {
    23  	j := &job{
    24  		fn:       fn,
    25  		callback: callback,
    26  	}
    27  	return j
    28  }
    29  
    30  // 执行
    31  func (j *job) Do() {
    32  	if j.fn != nil {
    33  		j.err = utils.Recover.WrapCall(j.fn)
    34  	}
    35  	if j.callback != nil {
    36  		j.callback(j.err)
    37  	}
    38  }