Maxima servermode: stability of commands....



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.