mirror of
				https://github.com/3ybactuk/marketplace-go-service-project.git
				synced 2025-10-30 22:13:44 +03:00 
			
		
		
		
	[hw-5] concurrency, graceful shutdown, concurrent tests
This commit is contained in:
		
							
								
								
									
										35
									
								
								docs/homework-5/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								docs/homework-5/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| # Домашнее задание по модулю "Многопоточное программирование" | ||||
|  | ||||
| ## Основное задание | ||||
|  | ||||
| Уменьшить время ответа cart.list. | ||||
|     - Распараллельные вызовы ручки http://route256.pavl.uk:8080/docs/#/ProductService/ProductService_GetProduct продакт | ||||
|       сервиса | ||||
|     - Самим написать аналог https://pkg.go.dev/golang.org/x/sync/errgroup и использовать его | ||||
|     - В случае ошибки - отменять все текущие запросы и вернуть ошибку из errgroup | ||||
|     - При общении с Product Service необходимо использовать лимит 10 RPS на клиентской стороне | ||||
|     - Группа живет в рамках одного запроса = группа не переиспользуется между запросами | ||||
|     - in-memory репозитории защитить мьютексами | ||||
|  | ||||
| ## Дополнительное задание | ||||
|  | ||||
| - Тесты на многопоточность in-memory репозитория | ||||
| - Грейсфул завершение приложения (использовать signal.Notify) | ||||
| - Контроль утечек (горутин через https://github.com/uber-go/goleak) | ||||
| - Контроль рейзов (через тесты с флагом -race) | ||||
| - Реализовать параллельный запуск тестов | ||||
|  | ||||
| ## Автоматические проверки | ||||
|  | ||||
| Ваше решение должно проходить автоматические проверки: | ||||
|  | ||||
| - Компиляция | ||||
| - Линтер | ||||
| - Unit-тесты | ||||
| - Code coverage >40% | ||||
| - Автотесты | ||||
|  | ||||
| Прохождение автоматических проверок влияет на итоговую оценку за домашнюю работу. | ||||
|  | ||||
| ### Дедлайны сдачи и проверки задания: | ||||
| - 28 июня 23:59 (сдача) / 1 июля, 23:59 (проверка) | ||||
		Reference in New Issue
	
	Block a user
	 Никита Шубин
					Никита Шубин