> Где то проскакивала подобная задача раньше, но что-то не могу найти.
>
> Есть несколько независимо работающих роботов, которые порциями
> обрабатывают записи из очереди/таблицы.
>
> Как кто прячет взятые на обработку записи от других роботов?

- Есть "робот" читающий данные из базы
- Есть буфер данных
- Есть "роботы", которые тащут данные из буфера.

Какие проблемы-то?

Красота обеспечивается за счет
- останова загрузчика при переполнении буфера
- уменьшения числа ресурсов общего пользования у обработчиков.
- при ожидании сигнала о поступлении данных в буфер или о выгребании
данных из буфера,
  нужно отслеживать внешний сигнал отмены работы. Это если кто-то из
рабочих потоков завершится по ошибке.
- корректно обрабатывать ошибки в рабочих потоках.

Ну там еще есть пункты ....

Или я не о том?

Коваленко Дмитрий.

Ответить