fix: job mutext
This commit is contained in:
@@ -106,6 +106,8 @@ func (q *Job) AddPeriodicJob(job contracts.CronJobArg) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
q.l.Lock()
|
||||||
|
defer q.l.Unlock()
|
||||||
|
|
||||||
q.periodicJobs[job.Arg.Kind()] = client.PeriodicJobs().Add(river.NewPeriodicJob(
|
q.periodicJobs[job.Arg.Kind()] = client.PeriodicJobs().Add(river.NewPeriodicJob(
|
||||||
job.PeriodicInterval,
|
job.PeriodicInterval,
|
||||||
@@ -126,6 +128,9 @@ func (q *Job) Cancel(kind string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
q.l.Lock()
|
||||||
|
defer q.l.Unlock()
|
||||||
|
|
||||||
if h, ok := q.periodicJobs[kind]; ok {
|
if h, ok := q.periodicJobs[kind]; ok {
|
||||||
client.PeriodicJobs().Remove(h)
|
client.PeriodicJobs().Remove(h)
|
||||||
delete(q.periodicJobs, kind)
|
delete(q.periodicJobs, kind)
|
||||||
@@ -150,6 +155,9 @@ func (q *Job) Add(job contracts.JobArgs) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
q.l.Lock()
|
||||||
|
defer q.l.Unlock()
|
||||||
|
|
||||||
q.jobs[job.Kind()], err = client.Insert(q.ctx, job, lo.ToPtr(job.InsertOpts()))
|
q.jobs[job.Kind()], err = client.Insert(q.ctx, job, lo.ToPtr(job.InsertOpts()))
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user