LINUX.ORG.RU

Интерактивный удаленный шелл и горячая замена кода

 , ,


0

4

Доброго времени суток, ЛОР

Хочется найти CL/Scheme реализацию которая умеет Erlang-подобный удаленный шел, и возможность замены кода без остановки системы. На сколько понимаю, со вторым особых проблем не должно быть, а для первого пока нагуглил только запуск окружения в screen, что мне не нравится. Может еще подскажет кто платформы с подобным функционалом? Сейчас в голову только Erlang и приходит.

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

А разве это чем-то отличается от ghci -f-object-code?

В смысле ghc -fasm -fobject-code -O3 --interactive? Отличается тем, что не работает, то есть foldl начинает очень быстро съедать всю кучу. Вообще, в ghc/Main.hs есть строчка

DoInteractive -> (CompManager, HscInterpreted, LinkInMemory)

можно попробовать поправить HscInterpreted -> HscAsm. Так как LinkInMemory должен для него тоже работать.

Правда да, в таком режиме он мусорит oшками в текущий каталог.

У меня ghci -f-object-code вообще не работает (ghc: unrecognised flags: -f-object-code, версия 7.4.1).

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

работает, наверно парсер опций неполный.

Нет, это у меня руки кривые. опция -fobject-code конечно же. А вот O-флаги gchi не поддерживает.

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

Обновление кода весьма ограничено в силу особенностей JVM.

Ну, как сказать. Замена кода, без изменения структуры класса — вообще на лету делается. При желании и полностью класс перегрузить можно, но уже тогда только для новых объектов.

А про шелл можно подробностей? То что я видел - больше технологии мониторинга системы.

Ну, есть всякие beanshell. Можно интерактивно вызывать что нужно. Но им не баловался. Для интерактивной работы я использовал свой JBForth, из него можно любые Java-вызовы осуществлять. В том числе и класс-лоадеры менять и т.п. Вот до чистой генерации байткода я так в нём и не дошёл, планировал делать таким JBF2, но нужда в нём отпала, так в теории и остался.

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

Ну, как сказать. Замена кода, без изменения структуры класса — вообще на лету делается. При желании и полностью класс перегрузить можно, но уже тогда только для новых объектов.

А вот в CLOS можно... ;)

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

как у твоего restas с работой под нагрузкой в контексте C10k?

У меня есть экспериментальная ветка для работы совместно с mongrel2 (я даже смог запустить lisper.ru таким образом). Надо доводить. Делал на будущее. Но для меня это сейчас не очень актуально. В принципе, в планах большой постепенный рефакториг всего, что успел наворотить, там была мысль это сделать, но это требует времени, а его не хвататает.

Есть ещё такая вещь: https://github.com/sshirokov/hinge - есть желание научить restas работать совместно с этой платформой, но опять же, см. выше про время.

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

Как я понимаю и в GObject тоже и о чем это говорит?

Для сишечки есть калька с CLOS, кстати.

mv ★★★★★
()
1 ноября 2012 г.

а как можно с тобой связаться по почте?

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