mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-31 14:31:02 +00:00 
			
		
		
		
	Pause queues (#15928)
* Start adding mechanism to return unhandled data Signed-off-by: Andrew Thornton <art27@cantab.net> * Create pushback interface Signed-off-by: Andrew Thornton <art27@cantab.net> * Add Pausable interface to WorkerPool and Manager Signed-off-by: Andrew Thornton <art27@cantab.net> * Implement Pausable and PushBack for the bytefifos Signed-off-by: Andrew Thornton <art27@cantab.net> * Implement Pausable and Pushback for ChannelQueues and ChannelUniqueQueues Signed-off-by: Andrew Thornton <art27@cantab.net> * Wire in UI for pausing Signed-off-by: Andrew Thornton <art27@cantab.net> * add testcases and fix a few issues Signed-off-by: Andrew Thornton <art27@cantab.net> * fix build Signed-off-by: Andrew Thornton <art27@cantab.net> * prevent "race" in the test Signed-off-by: Andrew Thornton <art27@cantab.net> * fix jsoniter mismerge Signed-off-by: Andrew Thornton <art27@cantab.net> * fix conflicts Signed-off-by: Andrew Thornton <art27@cantab.net> * fix format Signed-off-by: Andrew Thornton <art27@cantab.net> * Add warnings for no worker configurations and prevent data-loss with redis/levelqueue Signed-off-by: Andrew Thornton <art27@cantab.net> * Use StopTimer Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: techknowlogick <techknowlogick@gitea.io> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
		
					parent
					
						
							
								27ee01e1e8
							
						
					
				
			
			
				commit
				
					
						a82fd98d53
					
				
			
		
					 34 changed files with 1389 additions and 122 deletions
				
			
		|  | @ -103,11 +103,11 @@ func InitIssueIndexer(syncReindex bool) { | |||
| 	// Create the Queue | ||||
| 	switch setting.Indexer.IssueType { | ||||
| 	case "bleve", "elasticsearch": | ||||
| 		handler := func(data ...queue.Data) { | ||||
| 		handler := func(data ...queue.Data) []queue.Data { | ||||
| 			indexer := holder.get() | ||||
| 			if indexer == nil { | ||||
| 				log.Error("Issue indexer handler: unable to get indexer!") | ||||
| 				return | ||||
| 				return data | ||||
| 			} | ||||
| 
 | ||||
| 			iData := make([]*IndexerData, 0, len(data)) | ||||
|  | @ -127,6 +127,7 @@ func InitIssueIndexer(syncReindex bool) { | |||
| 			if err := indexer.Index(iData); err != nil { | ||||
| 				log.Error("Error whilst indexing: %v Error: %v", iData, err) | ||||
| 			} | ||||
| 			return nil | ||||
| 		} | ||||
| 
 | ||||
| 		issueIndexerQueue = queue.CreateQueue("issue_indexer", handler, &IndexerData{}) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue