X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=dmaap-mediator-producer%2Finternal%2Fjobs%2Fjobs.go;fp=dmaap-mediator-producer%2Finternal%2Fjobs%2Fjobs.go;h=e5a1070b9df923ceecfb6f36c7c0f59564c64c3b;hb=fe61c6191ba72b1d8297264c3d61566ea23a70b6;hp=09d389166ac3b855f4e2ed4b92e9937e171d8782;hpb=b65d86fc9b02415e1adf2415f8c4a257378e9c09;p=nonrtric.git diff --git a/dmaap-mediator-producer/internal/jobs/jobs.go b/dmaap-mediator-producer/internal/jobs/jobs.go index 09d38916..e5a1070b 100644 --- a/dmaap-mediator-producer/internal/jobs/jobs.go +++ b/dmaap-mediator-producer/internal/jobs/jobs.go @@ -55,6 +55,7 @@ type JobInfo struct { type JobHandler interface { AddJob(JobInfo) error + DeleteJob(jobId string) } var ( @@ -87,6 +88,15 @@ func (jh *jobHandlerImpl) AddJob(ji JobInfo) error { } } +func (jh *jobHandlerImpl) DeleteJob(jobId string) { + mu.Lock() + defer mu.Unlock() + for _, typeData := range allTypes { + delete(typeData.Jobs, jobId) + } + log.Debug("Deleted job: ", jobId) +} + func validateJobInfo(ji JobInfo) error { if _, ok := allTypes[ji.InfoTypeIdentity]; !ok { return fmt.Errorf("type not supported: %v", ji.InfoTypeIdentity) @@ -142,6 +152,10 @@ func AddJob(job JobInfo) error { return Handler.AddJob(job) } +func DeleteJob(jobId string) { + Handler.DeleteJob(jobId) +} + func RunJobs(mRAddress string) { for { pollAndDistributeMessages(mRAddress)