Size: a a a

2020 May 05

DO

Digital Owl in Go-go!
Хм, проектировщик из меня канеш как балерина, но тем не менее - main стартует sheduler, в который передаётся подключение к БД, а дальше sheduler инициализирует queue, которая уже наполняется из БД тасками. Получается указатель на подключение надо прокинуть аж до самого низа и в каждый из вызов изменения состояния таски. Чёт как-то выглядит как переписывание одного и того же кода несколько раз :think:

Можно конечно при создании таски передавать ей указатель и хранить во внутренней структуре, чтобы потом менять статус без аргументов... Но что-то вчера мне тоже не очень понравилось в таком подходе.
источник

МП

Мимо Проходящий... in Go-go!
Digital Owl
Хм, проектировщик из меня канеш как балерина, но тем не менее - main стартует sheduler, в который передаётся подключение к БД, а дальше sheduler инициализирует queue, которая уже наполняется из БД тасками. Получается указатель на подключение надо прокинуть аж до самого низа и в каждый из вызов изменения состояния таски. Чёт как-то выглядит как переписывание одного и того же кода несколько раз :think:

Можно конечно при создании таски передавать ей указатель и хранить во внутренней структуре, чтобы потом менять статус без аргументов... Но что-то вчера мне тоже не очень понравилось в таком подходе.
Сделайте глобальную переменную, инициализирует её в main, делов то
источник

ДС

Дмитрий Синявский... in Go-go!
Digital Owl
Хм, проектировщик из меня канеш как балерина, но тем не менее - main стартует sheduler, в который передаётся подключение к БД, а дальше sheduler инициализирует queue, которая уже наполняется из БД тасками. Получается указатель на подключение надо прокинуть аж до самого низа и в каждый из вызов изменения состояния таски. Чёт как-то выглядит как переписывание одного и того же кода несколько раз :think:

Можно конечно при создании таски передавать ей указатель и хранить во внутренней структуре, чтобы потом менять статус без аргументов... Но что-то вчера мне тоже не очень понравилось в таком подходе.
Вам все равно это надо прокидывать до места использования. Иначе только костыль через глобальную переменную пакета.
источник

DO

Digital Owl in Go-go!
Мимо Проходящий
Сделайте глобальную переменную, инициализирует её в main, делов то
Пока это самый жизнеспособный вариант, но поскольку я ещё не волшебник - пришёл, вот, посоветоваться с сообществом на тему как сделать красиво по заветам
источник

МП

Мимо Проходящий... in Go-go!
Digital Owl
Пока это самый жизнеспособный вариант, но поскольку я ещё не волшебник - пришёл, вот, посоветоваться с сообществом на тему как сделать красиво по заветам
Не стоит слушать дураков, стращающих глоб. переменными.  1) они не понимают о чём говорят 2) ни какой магии в глоб переменных нет
источник

DO

Digital Owl in Go-go!
Ну в сишке я бы протянул через все нужные вызовы указатель и дело с концом
источник

МП

Мимо Проходящий... in Go-go!
Digital Owl
Ну в сишке я бы протянул через все нужные вызовы указатель и дело с концом
Скорее вы бы сделали синглетон, изолирующий глоб переменную. Что в сишке, что в гошке
источник

ЕО

Евгений Омельченко... in Go-go!
Digital Owl
Хм, проектировщик из меня канеш как балерина, но тем не менее - main стартует sheduler, в который передаётся подключение к БД, а дальше sheduler инициализирует queue, которая уже наполняется из БД тасками. Получается указатель на подключение надо прокинуть аж до самого низа и в каждый из вызов изменения состояния таски. Чёт как-то выглядит как переписывание одного и того же кода несколько раз :think:

Можно конечно при создании таски передавать ей указатель и хранить во внутренней структуре, чтобы потом менять статус без аргументов... Но что-то вчера мне тоже не очень понравилось в таком подходе.
По описанию "до самого низа" это всего один раз
источник

DO

Digital Owl in Go-go!
Мимо Проходящий
Скорее вы бы сделали синглетон, изолирующий глоб переменную. Что в сишке, что в гошке
Синглтон в процедурном языке. Интересно.
источник

DP

Daniel Podolsky in Go-go!
Digital Owl
Ну в сишке я бы протянул через все нужные вызовы указатель и дело с концом
так а почему не сделать этого в гошке?

только протянуть надо интерфейс
источник

DO

Digital Owl in Go-go!
Daniel Podolsky
так а почему не сделать этого в гошке?

только протянуть надо интерфейс
Видать пушо с интерфейсами не до конца разобрался. По ссылке выше вообще рокетсаенс на первый взгляд.
источник

DP

Daniel Podolsky in Go-go!
ссылку выше не читал, но осуждаю
источник

IK

Ilya Kaznacheev in Go-go!
Коллеги, расскажите, как тестить микросервисы интеграционно?
источник

IK

Ilya Kaznacheev in Go-go!
И надо ли вообще?
источник

DP

Daniel Podolsky in Go-go!
если есть возможность - надо
источник

DP

Daniel Podolsky in Go-go!
писать клиента, которые типовой сценарий реализует, и натравливать на сервер
источник

DP

Daniel Podolsky in Go-go!
хотя бы по известным stories
источник

IK

Ilya Kaznacheev in Go-go!
А сервера все поднимать и тестовыми данными БД забивать, или как?
источник

DP

Daniel Podolsky in Go-go!
конечно
источник

ЛА

Локоть Анатолий... in Go-go!
Ilya Kaznacheev
А сервера все поднимать и тестовыми данными БД забивать, или как?
Да, можно прямо в ci/cd поднимать докеры и прогонять на них тесты как на полноценной системе.
источник