diff options
Diffstat (limited to 'jobs/testworker.go')
-rw-r--r-- | jobs/testworker.go | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/jobs/testworker.go b/jobs/testworker.go index 29608e909..9cfc8614f 100644 --- a/jobs/testworker.go +++ b/jobs/testworker.go @@ -12,14 +12,16 @@ import ( ) type TestWorker struct { + srv *JobServer name string stop chan bool stopped chan bool jobs chan model.Job } -func MakeTestWorker(name string) *TestWorker { +func (srv *JobServer) MakeTestWorker(name string) *TestWorker { return &TestWorker{ + srv: srv, name: name, stop: make(chan bool, 1), stopped: make(chan bool, 1), @@ -48,7 +50,7 @@ func (worker *TestWorker) Run() { } func (worker *TestWorker) DoJob(job *model.Job) { - if claimed, err := ClaimJob(job); err != nil { + if claimed, err := worker.srv.ClaimJob(job); err != nil { l4g.Error("Job: %v: Error occurred while trying to claim job: %v", job.Id, err.Error()) return } else if !claimed { @@ -57,7 +59,7 @@ func (worker *TestWorker) DoJob(job *model.Job) { cancelCtx, cancelCancelWatcher := context.WithCancel(context.Background()) cancelWatcherChan := make(chan interface{}, 1) - go CancellationWatcher(cancelCtx, job.Id, cancelWatcherChan) + go worker.srv.CancellationWatcher(cancelCtx, job.Id, cancelWatcherChan) defer cancelCancelWatcher() @@ -66,13 +68,13 @@ func (worker *TestWorker) DoJob(job *model.Job) { select { case <-cancelWatcherChan: l4g.Debug("Job %v: Job has been canceled via CancellationWatcher.", job.Id) - if err := SetJobCanceled(job); err != nil { + if err := worker.srv.SetJobCanceled(job); err != nil { l4g.Error("Failed to mark job: %v as canceled. Error: %v", job.Id, err.Error()) } return case <-worker.stop: l4g.Debug("Job %v: Job has been canceled via Worker Stop.", job.Id) - if err := SetJobCanceled(job); err != nil { + if err := worker.srv.SetJobCanceled(job); err != nil { l4g.Error("Failed to mark job: %v as canceled. Error: %v", job.Id, err.Error()) } return @@ -80,12 +82,12 @@ func (worker *TestWorker) DoJob(job *model.Job) { counter++ if counter > 10 { l4g.Debug("Job %v: Job completed.", job.Id) - if err := SetJobSuccess(job); err != nil { + if err := worker.srv.SetJobSuccess(job); err != nil { l4g.Error("Failed to mark job: %v as succeeded. Error: %v", job.Id, err.Error()) } return } else { - if err := SetJobProgress(job, int64(counter*10)); err != nil { + if err := worker.srv.SetJobProgress(job, int64(counter*10)); err != nil { l4g.Error("Job: %v: an error occured while trying to set job progress: %v", job.Id, err.Error()) } } |