Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tasks fix #419

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Tasks fix #419

wants to merge 1 commit into from

Conversation

mishankov
Copy link

Как запустить:

go run ./cmd/tasks 

Потенциальные конфигурационные параметры вынесены в константы в ./cmd/tasks/main.go. В идеале стоило бы их вынести в параметры CLI либо в переменные окружения.

Если выводить все выполненные задания раз в 3 секунды, вывод может быть тяжело читать, поэтому можно выводить количество успешных и неуспешных обработанных тасков. Выводить количество можно поменяв константу printFormat на printer.AmountFormat.

Так же в тестах обратил внимание, что time.Now().Nanosecond() всегда возвращает число с двумя нулями на конце на Windows, поэтому условие получения ошибки никогда не выполняется. Тут надо либо менять условие на "кроссплатформенное", либо запускать программу в контейнере, что я и сделал. Для удобства запуска написал простенький docker-compose.yml. Запускать в таком случае так - docker compose up --build.

Пакеты generator, printer и worker начинал писать с тестов, поэтому они там есть. Максимизировать покрытие тестами целью себе не ставил, но можно было бы это сделать.

Ещё из улучшений можно было бы вынести логику с созданием воркеров и закрытием канала processedTasks в отдельную сущность.

Также добавил небольшой CI с линтером, тестами и сборкой.

В случает отказа прошу дать обратную связь.

Спасибо!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant