Dmitry Russ (Aleksandrov)
Привет! Вопрос по архитектуре и дизайну.
Есть long running worker, который выполняет сложную логику, который очень сложно было дебаггить.
Теперь, я в своё время добавил то, что он собирает статистику и сделал его дизайн полностью step-by-step, что он мог останавливаться (по запросу), что его можно было интроспектировать и говорить, работай дальше, при том основную часть запросов я там научил складывать в queue и не держать в message queue.
Пришёл другой разработчик и хочет возможность процесса работать step-by-step убрать и добавить debugger
модуль, а основной процесс умеет только делать - attach_debugger
, detach_debugger
и добавляет в одном месте возможность обратиться к дебаггеру и блокируется и уже другой процесс отвечает за то, продолжить или остановиться и что делать с процессом.
Мне казалось правильнее, если процесс сам умеет обрабатывать вещи частями, а другой разработчик считает, что это должно быть не в buisness логике, а вообще отдельно и вот таким образом приделывает.
Что считаете? Как по Вашему опыту лучше? Заранее благодарю за любое мнение.
Его понять можно. Он мыслит категориями разделения ответственности. На мой взгляд его позиция правильнее. Это если я правильно понял постановку вопроса. Возможно ваше решение красивое само по себе, но тут не о красоте, а о водоразделе, как мне кажется.