Есть ли какой-нибудь Python-модуль, похожий на Distributed Ruby - PullRequest
1 голос
/ 28 октября 2009

Я новичок в Python. Просто хочу знать, есть ли в Python какой-либо модуль, похожий на ruby's drb? Как клиент может использовать объект, предоставленный сервером drb?

Ответы [ 6 ]

6 голосов
/ 28 октября 2009

Обычно это называется "посредничество объектов", и список некоторых пакетов Python в этой области можно найти, просматривая область тем "Посредничество объектов" в индексе пакетов Python здесь .

Самым старым и наиболее широко используемым из них является Поджигатель .

2 голосов
/ 28 октября 2009

Pyro делает то, что, по-моему, вы пишете (хотя я не использовал drb).

с сайта:

Pyro - сокращение от PYthon Remote Objects. Это продвинутая и мощная система технологии распределенных объектов, полностью написанная на Python, которая очень проста в использовании. Никогда больше не беспокойтесь о написании кода сетевого взаимодействия, при использовании Pyro вы просто пишете свои объекты Python, как обычно. Имея всего несколько строк дополнительного кода, Pyro заботится о сетевом взаимодействии между вашими объектами, когда вы разделяете их на разные машины в сети. Все детали программирования сокетов Gory позаботятся, вы просто вызываете метод на удаленном объекте, как если бы это был локальный объект!

1 голос
/ 28 октября 2009

Стандартный многопроцессорный модуль может делать то, что вы хотите.

0 голосов
/ 28 октября 2009

Для параллельной обработки и распределенных вычислений я использую Параллельный питон .

0 голосов
/ 28 октября 2009

Вы смотрели на execnet?

http://codespeak.net/execnet/

0 голосов
/ 28 октября 2009

Понятия не имею, что такое drb, но из небольшой информации, которую вы дали, это может быть что-то вроде Перспективный брокер в Twisted

Введение

Предположим, вы оказались под контролем обоих концов провода: у вас есть два программы, которые нужно поговорить с каждым другой, и вы можете использовать любой протокол ты хочешь. Если вы можете думать о своем проблема с точки зрения объектов, которые нуждаются делать вызовы методов друг на друга, тогда велики шансы, что вы можете использовать протокол перспективы брокера витой вместо того, чтобы пытаться зачистить ваш нужно что-то вроде HTTP, или реализует еще один RPC механизм.

Система «Перспективный брокер» (сокращенно PB, порождая многочисленные каламбур) основан на Несколько центральных понятий:

сериализация : достаточно произвольно объекты и типы, превращая их в кусок байтов, отправив их через провод, затем воссоздавая их на другой конец. Внимательно следя за идентификаторы объектов, сериализованные объекты могут содержать ссылки на другие объекты и удаленная копия все равно будет полезно.

удаленные вызовы методов : делать что-то для локального объекта и вызывая метод, чтобы запустить на дальний. Местный объект называется RemoteReference, и вы делаете что-то, запустив его .callRemote способ.

...