Re[5]: Про обработку ошибок - типовые решения
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.04.25 12:21
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Это актуально не для того типа приложений, которое вы представили.

Это актуально для всех типов приложений.
S>В моем случае программа десктопная (или мобильная), вход осуществлен под одним пользователем всегда. Одна база открывается в при открытии программы. При этом пользователь может выйти и зайти под другим никнеймом, в то время как некие операции продолжат выпоняться и запишут результат своей работы (после запроса к серверу) — уже на имя нового пользователя.
Вот это и есть дизайн в стиле безумного шляпника, который создаёт вам проблемы.

S>Варианты решений?

Не делать безумное чаепитие.
S>1. Сделал запрос к серверу — получил данные от сервера. Раз.
S>2. Внес новые данные от сервера в таблицу.
Пока что вы описали ровно вариант "получить результат запроса". Если пользователь отключился — всё, результат ему не нужен. Зачем вы берётесь записывать этот результат в какие-то таблицы? Пользователь явно выразил своё намерение завершить сессию. Нужно ли извещать сервер о том, что результат не нужен — дело вкуса.

S>Какая тут может быть атомарность?

Очень простая. Но детали сильно зависят от того, что именно делает приложение. С учётом окружающих рассуждений, велики шансы на то, что вы вместо одного из двух типовых паттернов изобрели ещё какое-то безумие.
Поэтому советы по реализации давать трудно.
Остаётся только повториться: вы делаете какую-то дичь, именно поэтому никакие типовые решения вам не подходят. Ни в какой области. Ни в области персистенса, ни в области асинхронного программирования, ни в области обработки ошибок.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Отредактировано 27.04.2025 12:21 Sinclair . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.