Создание асинхронного интерфейса для пользователей mod_python синхронным - PullRequest
0 голосов
/ 27 апреля 2010

У меня есть Python-управляемый веб-интерфейс, работающий на Apache 2.2 с mod_python и Python 2.4. Мне нужно, чтобы асинхронный процесс казался синхронным для пользователей этого веб-интерфейса.

Когда пользователи получают доступ к одному модулю на этом сайте:

  1. Внешний интерфейс SOAP свяжется с уникальным идентификатором и ответит номером N
  2. Внешний интерфейс будет отвечать асинхронно, связываясь с сервером SOAP на моем компьютере от 1 до 10 раз (число N говорит нам, сколько ответов мы получим)

Мне нужно как-то агрегировать эти ответы и передавать их исходному модулю, который будет отображать информацию обратно пользователю. Цель состоит в том, чтобы сделать процесс синхронным для пользователя.

Как лучше всего справиться с этой проблемой синхронизации? Это то, что Twisted было бы хорошо для?

Я не ограничиваю себя Python для решения, хотя это предпочтительнее, потому что все остальное на сервере находится в Python. Я предпочитаю решение, которое является одновременно масштабируемым и займет минимальное количество времени программирования (хотя я понимаю, что эти атрибуты несколько расходятся).

1 Ответ

2 голосов
/ 27 апреля 2010

Может быть, вы можете использовать Orbited , чтобы получить ajax push с долгоживущими HTTP-подключениями к вашим веб-клиентам. Orbited основан на Twisted, поэтому я думаю, что имеет смысл посмотреть, если вы уже знаете Twisted. Посмотрите этот учебник , чтобы начать.

...