Кажется, мы просто по-разному смотрим на саму задачу.
Я не использую Stoic Diary как календарь и не пытаюсь через него формировать привычки. В календаре у меня встречи и всё, что привязано к конкретному времени.
Здесь смысл другой: утром я фиксирую, чему хочу уделить внимание сегодня, а вечером смотрю, каким день получился. Поэтому там вполне могут быть бассейн, английский, прогулка, звонок близким или отдых.
Я записываю их не потому, что иначе забуду позвонить маме или выпить воды. Мне полезно видеть, чем я собирался наполнить день и чем в итоге его наполнил. Через месяц это уже даёт довольно интересную картину.
Если какое-то действие давно стало автоматическим ритуалом и его нет смысла фиксировать, я его и не фиксирую. А если человеку вообще неинтересно планировать личные дела и потом оглядываться на свои дни, такой инструмент ему действительно не нужен.
И да, задачи начальника я как раз сюда обычно не тащу. Для работы у меня отдельные инструменты :)
Все правильно поняли: если сообщение не дошло до брокера, то оно не удаляется из очереди. Обычно в фоне крутится джоба (для упрощения 1 инстанс, иначе их надо синхронизировать на уровне базы данных), которая переотправит такие сообщения. Код потребителей должен быть готов к дубликатам и быть идемпотентным. Помимо этого, вместе с сообщением всегда идет версия объекта. Если потребителю пришло что-то отличное от current version + 1, то он не принимает такие сообщения, возвращая их обратно в очередь. Так мы реализуем коммутативность потребителей.
4 минус о том, что есть строчка _log.Trace("..."), которая сама по себе не является частью алгоритма, но в коде присутствует. Это немного захламляет код. Иногда лечится AOP.
Спасибо за мнение.
Кажется, мы просто по-разному смотрим на саму задачу.
Я не использую Stoic Diary как календарь и не пытаюсь через него формировать привычки. В календаре у меня встречи и всё, что привязано к конкретному времени.
Здесь смысл другой: утром я фиксирую, чему хочу уделить внимание сегодня, а вечером смотрю, каким день получился. Поэтому там вполне могут быть бассейн, английский, прогулка, звонок близким или отдых.
Я записываю их не потому, что иначе забуду позвонить маме или выпить воды. Мне полезно видеть, чем я собирался наполнить день и чем в итоге его наполнил. Через месяц это уже даёт довольно интересную картину.
Если какое-то действие давно стало автоматическим ритуалом и его нет смысла фиксировать, я его и не фиксирую. А если человеку вообще неинтересно планировать личные дела и потом оглядываться на свои дни, такой инструмент ему действительно не нужен.
И да, задачи начальника я как раз сюда обычно не тащу. Для работы у меня отдельные инструменты :)
Вот: https://stoic-diary.com/ru-RU/
Я специально не вставлял ссылку в статью, чтобы она не выглядела рекламной :)
Спасибо, могу скинуть ссылку в лс
Все правильно поняли: если сообщение не дошло до брокера, то оно не удаляется из очереди. Обычно в фоне крутится джоба (для упрощения 1 инстанс, иначе их надо синхронизировать на уровне базы данных), которая переотправит такие сообщения. Код потребителей должен быть готов к дубликатам и быть идемпотентным. Помимо этого, вместе с сообщением всегда идет версия объекта. Если потребителю пришло что-то отличное от current version + 1, то он не принимает такие сообщения, возвращая их обратно в очередь. Так мы реализуем коммутативность потребителей.
Спасибо за мнение.