mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-03 20:36:07 +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