mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 02:46:04 +01:00 
			
		
		
		
	Queue: Make WorkerPools and Queues flushable (#10001)
* Make WorkerPools and Queues flushable Adds Flush methods to Queues and the WorkerPool Further abstracts the WorkerPool Adds a final step to Flush the queues in the defer from PrintCurrentTest Fixes an issue with Settings inheritance in queues Signed-off-by: Andrew Thornton <art27@cantab.net> * Change to for loop * Add IsEmpty and begin just making the queues composed WorkerPools * subsume workerpool into the queues and create a flushable interface * Add manager command * Move flushall to queue.Manager and add to testlogger * As per @guillep2k * as per @guillep2k * Just make queues all implement flushable and clean up the wrapped queue flushes * cope with no timeout Co-authored-by: Lauris BH <lauris@nix.lv>
This commit is contained in:
		| @@ -25,12 +25,14 @@ func TestChannelQueue(t *testing.T) { | ||||
|  | ||||
| 	queue, err := NewChannelQueue(handle, | ||||
| 		ChannelQueueConfiguration{ | ||||
| 			QueueLength:  20, | ||||
| 			Workers:      1, | ||||
| 			MaxWorkers:   10, | ||||
| 			BlockTimeout: 1 * time.Second, | ||||
| 			BoostTimeout: 5 * time.Minute, | ||||
| 			BoostWorkers: 5, | ||||
| 			WorkerPoolConfiguration: WorkerPoolConfiguration{ | ||||
| 				QueueLength:  20, | ||||
| 				MaxWorkers:   10, | ||||
| 				BlockTimeout: 1 * time.Second, | ||||
| 				BoostTimeout: 5 * time.Minute, | ||||
| 				BoostWorkers: 5, | ||||
| 			}, | ||||
| 			Workers: 1, | ||||
| 		}, &testData{}) | ||||
| 	assert.NoError(t, err) | ||||
|  | ||||
| @@ -60,13 +62,15 @@ func TestChannelQueue_Batch(t *testing.T) { | ||||
|  | ||||
| 	queue, err := NewChannelQueue(handle, | ||||
| 		ChannelQueueConfiguration{ | ||||
| 			QueueLength:  20, | ||||
| 			BatchLength:  2, | ||||
| 			Workers:      1, | ||||
| 			MaxWorkers:   10, | ||||
| 			BlockTimeout: 1 * time.Second, | ||||
| 			BoostTimeout: 5 * time.Minute, | ||||
| 			BoostWorkers: 5, | ||||
| 			WorkerPoolConfiguration: WorkerPoolConfiguration{ | ||||
| 				QueueLength:  20, | ||||
| 				BatchLength:  2, | ||||
| 				BlockTimeout: 1 * time.Second, | ||||
| 				BoostTimeout: 5 * time.Minute, | ||||
| 				BoostWorkers: 5, | ||||
| 				MaxWorkers:   10, | ||||
| 			}, | ||||
| 			Workers: 1, | ||||
| 		}, &testData{}) | ||||
| 	assert.NoError(t, err) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user