Найти - Пользователи
Полная версия: Singleton для нескольких процессов
Начало » Python для новичков » Singleton для нескольких процессов
1
xtesterx
Приветствую.
Имеется некий объект, выполняющий роль объекта-одиночки (паттерн Singleton), который должен быть доступным для всех порождённых классов процессов (именно процессов, которые наследуются от multiprocessing.Process) и раздавать какие-либо данные (например выборки из БД и т.д.)
Собственно, как можно добиться действительно только одного объекта, который могут совместно использовать порождённые подпроцессы (и как они должны к нему обращаться, то есть, получать доступ к этому объекту и вызывать его методы), если допустим, что сам объект-провайдер данных (наш синглтон), создаётся в главном потоке (в принципе, не суть важно. где он будет создаваться). Причём, в данном случае, просто очередь multiprocessing.Queue()/JoinableQueue() не подойдут, так как пораждённый процесс сам должен решать, когда ему обратиться к этому объекту-провайдеру одиночке за новой порцией данных.

Спасибо!

зы: синхронизация в самом синглтоне - это само-собой, не понятно как обеспечить его уникальность и доступность для всех подпроцессов, как к объекту
PooH
xtesterx
Приветствую.
Имеется некий объект, выполняющий роль объекта-одиночки (паттерн Singleton), который должен быть доступным для всех порождённых классов процессов (именно процессов, которые наследуются от multiprocessing.Process) и раздавать какие-либо данные (например выборки из БД и т.д.)
Может запустить его в отдельном процессе, а общаться через IPC, например через сокет?
Yurietc
Для обмена данными между процессами можно использовать http://rpyc.wikidot.com/tutorial
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB