хостинг pharo webapp с несколькими экземплярами - PullRequest
0 голосов
/ 10 мая 2018

Как разместить веб-приложение с Pharo, чтобы у каждого клиента, обращающегося к нему в сети, был уникальный экземпляр приложения?

Я создал веб-приложение на примере «Enterprise Pharo», которое отображает HTML-страницу на ZnServer следующим образом:

ZnServer startDefaultOn: 80. 
ZnServer default delegate map: #display to: RBDisplay new.

Сайт можно найти, например, на localhost / display

Страница, которую я создал и надеюсь разместить в сети, принимает файл .csv, итерирует значения внутри него, чтобы вернуть новое значение, и возвращает его в виде таблицы с этим новым значением, помещенным в столбец. Хотя эта часть работает для меня, я обнаружил, что загруженные значения сохраняются независимо от того, когда и где я получаю доступ к странице, которую я размещал (то есть другие компьютеры, IP-адреса, время), пока я не перезапущу ZnServer.

Каков наилучший способ размещения такого рода приложений, чтобы каждый, кто посещает страницу, получил «свежий» экземпляр моего приложения?

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Частично решено.

Получил уникальный идентификатор сеанса с sessionID := request session, отрисовал новый экземпляр подкласса и сопоставил его с сервером-делегатом, а затем ZnClient Redirect: sessionID с этим экземпляром.

Просроченосеансы необходимо очистить.

0 голосов
/ 14 мая 2018

С Seaside вы получаете сеансы бесплатно. Затем вы можете установить балансировщик нагрузки перед вашим nginx / apache и убедиться, что ваши сеансы всегда перенаправляются на нужное изображение.

...