@@ -75,16 +75,18 @@ func filenameOfIndexerID(indexerID string) string {
7575
7676// IndexerData represents data stored in the code indexer
7777type IndexerData struct {
78- RepoID int64
79- IsDelete bool
78+ RepoID int64
8079}
8180
8281var (
83- indexerQueue queue.Queue
82+ indexerQueue queue.UniqueQueue
8483)
8584
8685func index (indexer Indexer , repoID int64 ) error {
8786 repo , err := models .GetRepositoryByID (repoID )
87+ if models .IsErrRepoNotExist (err ) {
88+ return indexer .Delete (repoID )
89+ }
8890 if err != nil {
8991 return err
9092 }
@@ -146,22 +148,16 @@ func Init() {
146148 log .Error ("Unable to process provided datum: %v - not possible to cast to IndexerData" , datum )
147149 continue
148150 }
149- log .Trace ("IndexerData Process: %v %t" , indexerData .RepoID , indexerData .IsDelete )
150-
151- if indexerData .IsDelete {
152- if err := indexer .Delete (indexerData .RepoID ); err != nil {
153- log .Error ("indexer.Delete: %v" , err )
154- }
155- } else {
156- if err := index (indexer , indexerData .RepoID ); err != nil {
157- log .Error ("index: %v" , err )
158- continue
159- }
151+ log .Trace ("IndexerData Process Repo: %d" , indexerData .RepoID )
152+
153+ if err := index (indexer , indexerData .RepoID ); err != nil {
154+ log .Error ("index: %v" , err )
155+ continue
160156 }
161157 }
162158 }
163159
164- indexerQueue = queue .CreateQueue ("code_indexer" , handler , & IndexerData {})
160+ indexerQueue = queue .CreateUniqueQueue ("code_indexer" , handler , & IndexerData {})
165161 if indexerQueue == nil {
166162 log .Fatal ("Unable to create codes indexer queue" )
167163 }
@@ -265,14 +261,6 @@ func Init() {
265261 }
266262}
267263
268- // DeleteRepoFromIndexer remove all of a repository's entries from the indexer
269- func DeleteRepoFromIndexer (repo * models.Repository ) {
270- indexData := & IndexerData {RepoID : repo .ID , IsDelete : true }
271- if err := indexerQueue .Push (indexData ); err != nil {
272- log .Error ("Delete repo index data %v failed: %v" , indexData , err )
273- }
274- }
275-
276264// UpdateRepoIndexer update a repository's entries in the indexer
277265func UpdateRepoIndexer (repo * models.Repository ) {
278266 indexData := & IndexerData {RepoID : repo .ID }
0 commit comments