Есть ли примеры структуры go проекта с воркерами?

Необходимо реализовать несколько воркеров для одного проекта на go. Как обычно делают структуру такого проекта?
На текущий момент структура примерно такая:
config
--config.go
utils
--error_handler.go
--init.go
models
--users
--posts
worker1.go
worker2.go

Как видно для запуска определенного воркера я запускаю их через go run {имя воркера}.
Однако у меня есть определенные сомнения по правильности сего действия, хотелось бы узнать как обычно делают в подобных ситуациях.
  • Вопрос задан
  • 390 просмотров
Решения вопроса 1
EvgenyMamonov
@EvgenyMamonov Куратор тега Go
Senior software developer, system architect
Есть смысл скомпилировать CLI приложение и запускать уже бинарник с нужными параметрами, например так
yourprog worker1
yourprog worker2

Можно использовать вот эти библиотеки:
https://github.com/urfave/cli (хороший и простой, советую начать с него)
https://github.com/spf13/cobra (очень мощный, его использует Docker)

Структура проекта у вас также немного изменится, в Go принято делать папочку cmd, типа так:
cmd/
cmd/worker1.go
cmd/worker2.go

Образец есть в каждой из библиотек, что я выше написал.

По структуре проекта на Go уже был вопрос, вот тут хорошо описано Структура проекта на Golang?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы