mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08: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:
		@@ -36,7 +36,7 @@ type Type string
 | 
			
		||||
type Data interface{}
 | 
			
		||||
 | 
			
		||||
// HandlerFunc is a function that takes a variable amount of data and processes it
 | 
			
		||||
type HandlerFunc func(...Data)
 | 
			
		||||
type HandlerFunc func(...Data) (unhandled []Data)
 | 
			
		||||
 | 
			
		||||
// NewQueueFunc is a function that creates a queue
 | 
			
		||||
type NewQueueFunc func(handler HandlerFunc, config, exemplar interface{}) (Queue, error)
 | 
			
		||||
@@ -61,6 +61,12 @@ type Queue interface {
 | 
			
		||||
	Push(Data) error
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// PushBackable queues can be pushed back to
 | 
			
		||||
type PushBackable interface {
 | 
			
		||||
	// PushBack pushes data back to the top of the fifo
 | 
			
		||||
	PushBack(Data) error
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// DummyQueueType is the type for the dummy queue
 | 
			
		||||
const DummyQueueType Type = "dummy"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user