mirror of https://github.com/go-co-op/gocron.git
add job name to event listners (#621)
* add job name to event listners * missed the examples * missed executor
This commit is contained in:
parent
66caa1aabe
commit
8c628fae2d
|
|
@ -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
|
||||
},
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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
12
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
|
||||
|
|
|
|||
12
job_test.go
12
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,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Reference in New Issue