| 123456789101112131415161718192021222324252627282930313233 |
- package wkrp
- /**
- A job should be callable
- so there may be 2 types of jobs at least
- */
- type IJob interface {
- Exec(interface{}) error
- }
- type IJobFn func(interface{}) error
- func (fn IJobFn) Exec(inf interface{}) error {
- return fn(inf)
- }
- type Job struct {
- param interface{}
- job IJob
- }
- func NewJob(job IJob, param interface{}) *Job {
- return &Job{
- param: param,
- job: job,
- }
- }
- func (self *Job) do() error {
- return self.job.Exec(self.param)
- }
|