mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +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:
		@@ -216,12 +216,13 @@ func InitializePullRequests(ctx context.Context) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// handle passed PR IDs and test the PRs
 | 
			
		||||
func handle(data ...queue.Data) {
 | 
			
		||||
func handle(data ...queue.Data) []queue.Data {
 | 
			
		||||
	for _, datum := range data {
 | 
			
		||||
		id, _ := strconv.ParseInt(datum.(string), 10, 64)
 | 
			
		||||
 | 
			
		||||
		testPR(id)
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func testPR(id int64) {
 | 
			
		||||
 
 | 
			
		||||
@@ -22,11 +22,12 @@ func TestPullRequest_AddToTaskQueue(t *testing.T) {
 | 
			
		||||
 | 
			
		||||
	idChan := make(chan int64, 10)
 | 
			
		||||
 | 
			
		||||
	q, err := queue.NewChannelUniqueQueue(func(data ...queue.Data) {
 | 
			
		||||
	q, err := queue.NewChannelUniqueQueue(func(data ...queue.Data) []queue.Data {
 | 
			
		||||
		for _, datum := range data {
 | 
			
		||||
			id, _ := strconv.ParseInt(datum.(string), 10, 64)
 | 
			
		||||
			idChan <- id
 | 
			
		||||
		}
 | 
			
		||||
		return nil
 | 
			
		||||
	}, queue.ChannelUniqueQueueConfiguration{
 | 
			
		||||
		WorkerPoolConfiguration: queue.WorkerPoolConfiguration{
 | 
			
		||||
			QueueLength: 10,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user