Subject: Maxima servermode: stability of commands....
From: Gerd Kortemeyer
Date: Tue, 2 May 2006 15:29:39 -0400
Hi All,
On May 2, 2006, at 12:01 PM, Richard Fateman wrote:
>
> I think that starting up a second maxima, given that most of
> the pages are shared, can be done very fast, if your lisp
> supports this approach.
Actually, it does take a long time. I did some experimenting for LON-
CAPA, also for assessment purposes, and given the workloads we
regularly deal with, the one-process-per-request method is prohibitive.
I wrote some code that starts a configurable number of Maxima
processes and keeps them alive. You can connect through a local port.
You can find the code at
http://www.lon-capa.org/cas.html
Under the hood, this basically does screen harvesting. Every time a
new client connects, it does a "kill(all);reset();" It has time-out
code, whereupon it kills the child process and starts a new one, and
maintains a blacklist of commands.
Unfortunately, just like Michele reports, this stopped working with
the most recent update of Maxima I installed. It's Finals Week here
at MSU, so I did not have the time yet to find out why ... and now
back to writing exams :-(
- Gerd.