SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Firebird, HQbird, InterBase » Сервис диагностики 100500 устройств (организация транзакций с использованием ibpp 2.x)
Сервис диагностики 100500 устройств [сообщение #4082] Thu, 18 January 2024 11:31 Переход к предыдущему сообщению
wolverin в настоящее время не в онлайне  wolverin
Сообщений: 42
Зарегистрирован: August 2023
Member
Приветствую.

Вопрос не сугубо про FB, но в организации 2х-поточного чтения-записи из одного бинарника.
Сцуть - нужно взять кучу идентификаторов из БД и, посылая на железку запрос, отмечать что запрос послан, во втором потоке приходит ответ, информацию о котором записывается в БД - для простоты одна таблица структурой поле количество посланных запросов и поле количество полученных ответов.

Вопросы
1. нужно ли держать 2 коннекта читающий ид-ы и пишущий отметку о посылке, с учетом того, что второй поток произвольно пишет ответы или лучше в первом потоке выгружать, например, все в std::vector и потом в другой транзакции последовательно записывать запросы?
2. с учетом того, что железок тысячи, а опрос всех предварительно предполагаю каждые 10-15 минут, то как бы организовать транзакции, чтобы они друг другу не мешали, но и не оборачивать в транзакцию хотя бы каждый каждый запрос железки?

есть отдалено похожий скрипт на bash с использованием isql-fb, который оборачивает запись запросов в одну транзакцию, что приводит периодически к блокировкам остальных изменений, но там это не так критично в силу небольших объемов и блокировки обрабатываются на стороне пользовательского интерфейса.
 
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Предыдущая тема: Поддержка новых типов данных из Firebird 4.0 в PHP. Драйвер pdo-firebird
Следующая тема: RDB$DESCRIPTION
Переход к форуму:
  


Текущее время: Tue May 14 17:22:41 GMT+3 2024

Общее время, затраченное на создание страницы: 0.01155 секунд