2015-09-28 11 views
0

Мне нужно запустить дочерний процесс, который не использует интерпретатор Python своего родительского процесса (Jython и CPython). Я хотел бы использовать удобный инструмент IPC, например Queue.Queue или multiprocessing.Connection.Очередь между процессами Python без использования модуля многопроцессорности

Как это можно достичь?

+0

Я не думаю, что многопроцессорность. Соединение требует, чтобы процессы были дочерними для одного процесса Python. – Bernhard

+0

Кажется, вы правы. К сожалению, модуль 'multiprocessing' недоступен в Jython. –

ответ

0

Вы можете использовать библиотеку очереди сообщений, такую ​​как ZeroMQ. Он имеет языковые привязки для Python и Java, ваши скрипты Jython должны использовать классы Java этих привязок. Кроме того, есть чистая очередь сообщений Python snakeMQ. Это должно выполняться как в C-Python, так и в Jython, поскольку для него не требуются родные библиотеки. Вы можете кодировать свои сообщения, если это больше, чем строки и числа, используя JSON или pickle (я не уверен, что вывод pickle совместим между C-Python и Jython).

Смежные вопросы