LINUX.ORG.RU

асинхронный jsonrpc клиент-сервер

 ,


2

3

Привет Интернет.

Нужна jsonrpc либа для асинхронного общения клиента с сервером и наоборот на питоне. Нашел такое.

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


Ответ на: комментарий от rikimaru

и как оно ему поможет? Крутится в 1 потоке, исполняет там же. Хм. Хотя я только поверхностно глянул.

Вообще есть мнение, что Python JSON-RPC тоже осилит такое поведение. просто исполнение кидай в другой пул. асинхронный же тебе нужен вопрос/ответ

anonymous
()
Ответ на: комментарий от rikimaru

А ну так йопта! этот торнадо юзает то, что ТС в ссылке указал. Просто размазывает по своей логике.

anonymous
()

Я бы сделал на asyncio, asynchttp и встроенной json-либой. Я пробовал, мне понравилось.

true_admin ★★★★★
()

Go + net/rpc

anonymous
()

пока пришёл к выводу, что нужно лезть в кишки pyjsonrpc, смотреть как он принимает и шлёт сообщения и потом вывернуть это в такое: на стороне сервера сделать очередь сообщений, клиент шлёт сообщение с сгенеренным id, сервер его принимает, кладёт в пул и обрабатывает сообщения из пула, как только какой-то таск закончился, возвращает его статус и id клиенту

ubik
() автор топика
Ответ на: комментарий от ubik

Если у тебя сообщение обрабатывается долго из-за других сетевых запросов, а не из-за долгих вычислений, то ты делаешь неправильно.

Vovka-Korovka ★★★★★
()

jsonrps в принципе синхронный протокол, асинхронность это к amqp например. Давайте называть все своими именами, и искать обычный многопоточный сервер. Можно еще замутить на tornado или asyncio, но протокол от этого не станет асинхронным.

redixin ★★★★
()
Ответ на: комментарий от redixin

да, по сути мне нужен многопоточный сервер, умеющий jsonrpc

ubik
() автор топика
Ответ на: комментарий от redixin

jsonrps в принципе синхронный протокол

чоэтовдруг? синхронным может быть обработка, а не протокол. Вполне видел рабочие асинхронные примеры на нем. Он ж расширяется легко.

anonymous
()
Ответ на: комментарий от anonymous

Обработка может быть асинхронной, но сам протокол где есть понятие «ответ», который не может быть до того как был отправлен запрос, не очень к такому распологает. Хотя конечно да, особенно если вспомнить букву А в слове АЯКС.

redixin ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.