Работа с большим количеством строк

Добрый день. Подскажите пожалуйста. Необходимо подготовить данные для выгрузки из одной таблицы, и записать все это в другую таблицу. Сейчас это реализовано вот так: image
Но проблема в том, что блок finally выполняется до того как будут подготовлены все данные, и подготовка происходит в фоновом режиме.

А на бэке как этот сервис реализован?
Если он например просто ставит какую то задачу в очередь и потом асинхронно она выполняется, то ответ с сервера придет раньше чем будет выполнена задача, и это в целом логично.
В таком случае вы можете уведомить пользователя через модуль оповещений

Вот так реализовано image


А что за модуль оповещения?! Вот этот
image

Походу это баг. Добавил диалог в “обработка ошибки”. Через какое-то время прекращается подготовка и выходит два диалога и успешный и с ошибкой, но продолжает обрабатывать в фоновом режиме.

А имплементацию сервиса покажи пожалуйста

unloadentityall.cs (18.0 КБ)

У вас Task.Run который не ожидается. Соответственно в вашем случае при нажатии на кнопку в UI на сервере запускается таск и сразу происходит возврат ответа на клиент что все ок.
Думаю в вашем случае нужно воспользоваться другими механизмами, например фоновой очередью. В этом случае вы сможете информировать пользователя о том что задача поставлена в очередь, а после ее завершения чеез модуль нотификаций информировать юзера о завершении

А почему тогда срабатывает “Обработка ошибки”?

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

@ext_d.oreshkin_ad, укажите, пожалуйста ссылки на ваше решение в конструкторе и на приложение.
Мы проверим и поставим задачу.

Ссылка на конструктор: https://barsup.net/app/#i/b2eabc67-7e75-42ac-b6e2-cd5fa4be41a9/master/05e39da3-33a6-4503-be2e-12b024e4004d
Кнопка “Подготовить все”
Убрал настраиваемый диалог с обработки ошибки. Чтобы не кошмарить заказчика.
Ссылка на стенд: http://gisvoek.elros.info/app-dev/
Логин: admin
пароль: 123

Поставлена задача https://jira.bars.group/browse/BARSUP-1859
НО для проверки и реализации задачи, необходимо будет восстановить кейс.
Поэтому, @ext_d.oreshkin_ad, прошу написать ваш контакт в телеграмме, чтобы мы могли с вами связаться, когда возьмем задачу в работу.

Вопрос решен, в задачу описали комментарий