using VNC display(s) to generate images on a webserver

Paul ROBINS paul.robins "at" st.com
Thu Aug 3 15:15:01 2006


James Weatherall wrote:
>> As I've still not found a solution then I guess I'm going to 
>> have to do 
>> it with a nasty hack - some kind of log of which servers are 
>> running and 
>> which haven't been used for a certain time, then kill them 
>> off and hope 
>> that someone wasn't using it. I was hoping to find a more elegant, 
>> automatic solution.
> 
> That's not a nasty hack, that's the right way to do it.
> 
> Your system should keep track of the servers it's started, and when they
> last had requests run on them, and kill servers when they're no longer
> required.  From the sounds of things, you don't even need a concept of a
> server being associated with a particular session - you can just regard them
> as a pool of displays for doing the "capture" process on, and remove &
> restore them from/to the pool before & after processing a request, and add &
> remove servers as the pool becomes empty, or idle for prolonged periods,
> respectively.
> 
> Wez @ RealVNC Ltd.
> 

Well, it is bit nasty.. or inconvenient at least in the context from 
which this is being run, i.e. asynchronous requests from a web server. 
You could say I'm being lazy and I suppose you'd be right. I'll have to 
a create an Xvnc activity/logging/cleanup daemon to handle all this, 
which is a drag (I don't have root access, nor cron, and I'll have to 
move all this to other servers). Either that or I call all the 
maintenance tasks with each users image request, which sounds like it 
could get heavy (race conditions etc). The pool of servers idea sounds 
nice and I had thought of something like that to try to maintain say 20 
servers running at any one time. However how can I know which one in the 
pool isn't busy and hasn't just been bagged by another user? ah, I see, 
I'll have to manage that too.

All this would be *so* much easier if I could just launch an Xvnc 
server for each user session that quietly went away after n minutes of 
inactivity. Oh well, never mind. Thanks anyway.

Paul