From 8c628fae2ddb814ca237b5b4d6d06852cf1adc33 Mon Sep 17 00:00:00 2001 From: John Roesler Date: Tue, 14 Nov 2023 11:39:27 -0600 Subject: [PATCH] add job name to event listners (#621) * add job name to event listners * missed the examples * missed executor --- example_test.go | 12 ++++++------ executor.go | 6 +++--- job.go | 12 ++++++------ job_test.go | 12 ++++++------ scheduler_test.go | 8 ++++---- 5 files changed, 25 insertions(+), 25 deletions(-) diff --git a/example_test.go b/example_test.go index 8deef9b..af40a97 100644 --- a/example_test.go +++ b/example_test.go @@ -23,7 +23,7 @@ func ExampleAfterJobRuns() { ), WithEventListeners( AfterJobRuns( - func(jobID uuid.UUID) { + func(jobID uuid.UUID, jobName string) { // do something after the job completes }, ), @@ -44,7 +44,7 @@ func ExampleAfterJobRunsWithError() { ), WithEventListeners( AfterJobRunsWithError( - func(jobID uuid.UUID, err error) { + func(jobID uuid.UUID, jobName string, err error) { // do something when the job returns an error }, ), @@ -65,7 +65,7 @@ func ExampleBeforeJobRuns() { ), WithEventListeners( BeforeJobRuns( - func(jobID uuid.UUID) { + func(jobID uuid.UUID, jobName string) { // do something immediately before the job is run }, ), @@ -464,17 +464,17 @@ func ExampleWithEventListeners() { ), WithEventListeners( AfterJobRuns( - func(jobID uuid.UUID) { + func(jobID uuid.UUID, jobName string) { // do something after the job completes }, ), AfterJobRunsWithError( - func(jobID uuid.UUID, err error) { + func(jobID uuid.UUID, jobName string, err error) { // do something when the job returns an error }, ), BeforeJobRuns( - func(jobID uuid.UUID) { + func(jobID uuid.UUID, jobName string) { // do something immediately before the job is run }, ), diff --git a/executor.go b/executor.go index 5117c40..74597d8 100644 --- a/executor.go +++ b/executor.go @@ -344,7 +344,7 @@ func (e *executor) runJob(j internalJob) { } defer func() { _ = lock.Unlock(j.ctx) }() } - _ = callJobFuncWithParams(j.beforeJobRuns, j.id) + _ = callJobFuncWithParams(j.beforeJobRuns, j.id, j.name) select { case <-e.ctx.Done(): @@ -356,8 +356,8 @@ func (e *executor) runJob(j internalJob) { err := callJobFuncWithParams(j.function, j.parameters...) if err != nil { - _ = callJobFuncWithParams(j.afterJobRunsWithError, j.id, err) + _ = callJobFuncWithParams(j.afterJobRunsWithError, j.id, j.name, err) } else { - _ = callJobFuncWithParams(j.afterJobRuns, j.id) + _ = callJobFuncWithParams(j.afterJobRuns, j.id, j.name) } } diff --git a/job.go b/job.go index 2f7e928..7302924 100644 --- a/job.go +++ b/job.go @@ -34,9 +34,9 @@ type internalJob struct { startTime time.Time startImmediately bool // event listeners - afterJobRuns func(jobID uuid.UUID) - beforeJobRuns func(jobID uuid.UUID) - afterJobRunsWithError func(jobID uuid.UUID, err error) + afterJobRuns func(jobID uuid.UUID, jobName string) + beforeJobRuns func(jobID uuid.UUID, jobName string) + afterJobRunsWithError func(jobID uuid.UUID, jobName string, err error) } // stop is used to stop the job's timer and cancel the context @@ -507,7 +507,7 @@ func WithTags(tags ...string) JobOption { type EventListener func(*internalJob) error -func AfterJobRuns(eventListenerFunc func(jobID uuid.UUID)) EventListener { +func AfterJobRuns(eventListenerFunc func(jobID uuid.UUID, jobName string)) EventListener { return func(j *internalJob) error { if eventListenerFunc == nil { return ErrEventListenerFuncNil @@ -517,7 +517,7 @@ func AfterJobRuns(eventListenerFunc func(jobID uuid.UUID)) EventListener { } } -func AfterJobRunsWithError(eventListenerFunc func(jobID uuid.UUID, err error)) EventListener { +func AfterJobRunsWithError(eventListenerFunc func(jobID uuid.UUID, jobName string, err error)) EventListener { return func(j *internalJob) error { if eventListenerFunc == nil { return ErrEventListenerFuncNil @@ -527,7 +527,7 @@ func AfterJobRunsWithError(eventListenerFunc func(jobID uuid.UUID, err error)) E } } -func BeforeJobRuns(eventListenerFunc func(jobID uuid.UUID)) EventListener { +func BeforeJobRuns(eventListenerFunc func(jobID uuid.UUID, jobName string)) EventListener { return func(j *internalJob) error { if eventListenerFunc == nil { return ErrEventListenerFuncNil diff --git a/job_test.go b/job_test.go index 82a521c..73beccd 100644 --- a/job_test.go +++ b/job_test.go @@ -355,30 +355,30 @@ func TestWithEventListeners(t *testing.T) { { "afterJobRuns", []EventListener{ - AfterJobRuns(func(_ uuid.UUID) {}), + AfterJobRuns(func(_ uuid.UUID, _ string) {}), }, nil, }, { "afterJobRunsWithError", []EventListener{ - AfterJobRunsWithError(func(_ uuid.UUID, _ error) {}), + AfterJobRunsWithError(func(_ uuid.UUID, _ string, _ error) {}), }, nil, }, { "beforeJobRuns", []EventListener{ - BeforeJobRuns(func(_ uuid.UUID) {}), + BeforeJobRuns(func(_ uuid.UUID, _ string) {}), }, nil, }, { "multiple event listeners", []EventListener{ - AfterJobRuns(func(_ uuid.UUID) {}), - AfterJobRunsWithError(func(_ uuid.UUID, _ error) {}), - BeforeJobRuns(func(_ uuid.UUID) {}), + AfterJobRuns(func(_ uuid.UUID, _ string) {}), + AfterJobRunsWithError(func(_ uuid.UUID, _ string, _ error) {}), + BeforeJobRuns(func(_ uuid.UUID, _ string) {}), }, nil, }, diff --git a/scheduler_test.go b/scheduler_test.go index 8bbd8db..4173c9d 100644 --- a/scheduler_test.go +++ b/scheduler_test.go @@ -1177,7 +1177,7 @@ func TestScheduler_WithEventListeners(t *testing.T) { { "AfterJobRuns", NewTask(func() {}), - AfterJobRuns(func(_ uuid.UUID) { + AfterJobRuns(func(_ uuid.UUID, _ string) { listenerRunCh <- nil }), true, @@ -1186,7 +1186,7 @@ func TestScheduler_WithEventListeners(t *testing.T) { { "AfterJobRunsWithError - error", NewTask(func() error { return testErr }), - AfterJobRunsWithError(func(_ uuid.UUID, err error) { + AfterJobRunsWithError(func(_ uuid.UUID, _ string, err error) { listenerRunCh <- err }), true, @@ -1195,7 +1195,7 @@ func TestScheduler_WithEventListeners(t *testing.T) { { "AfterJobRunsWithError - no error", NewTask(func() error { return nil }), - AfterJobRunsWithError(func(_ uuid.UUID, err error) { + AfterJobRunsWithError(func(_ uuid.UUID, _ string, err error) { listenerRunCh <- err }), false, @@ -1204,7 +1204,7 @@ func TestScheduler_WithEventListeners(t *testing.T) { { "BeforeJobRuns", NewTask(func() {}), - BeforeJobRuns(func(_ uuid.UUID) { + BeforeJobRuns(func(_ uuid.UUID, _ string) { listenerRunCh <- nil }), true,