add job name to event listners (#621)

* add job name to event listners

* missed the examples

* missed executor
This commit is contained in:
John Roesler 2023-11-14 11:39:27 -06:00 committed by GitHub
parent 66caa1aabe
commit 8c628fae2d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 25 additions and 25 deletions

View File

@ -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
},
),

View File

@ -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)
}
}

12
job.go
View File

@ -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

View File

@ -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,
},

View File

@ -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,