CGI and DestroyStack property

Tariel Gogoberidze tariel at mac.com
Thu Apr 27 18:10:10 CDT 2006


On Thu, 27 Apr 2006 08:42:30 -0700,  Richard Gaskin wrote:

> It sounds like you could safely use a separate stack file for each 
> user,
> which might also bring a modest performance boost since it would only 
> be
> loading the data for the current user.
>
> I have a bug reporting tool I'll be demoing at RevCon which uses that
> approach:  each user has a folder on the server, and while they can 
> read
> files from any folder they only write to the ones in their own.
>
> In your case that may be all you need.  With the bug tool I also needed
> to allow admins to write to those files, so to avoid conflicts I just
> write a flag file to the folder to note that it's being edited, and any
> attempt at write-access to the file first checks for that flag and
> reports to the user if the file they want is in use.  Once the save is
> done the flag file is deleted.

Thanks Richard, nice tips. I must have one stack however, because it 
summarizes quiz results for all students and sends summary back to each 
student.
So, I guess my option is to manage users access through flag in 
external file and wait in CGI script either in repeat loop  or with 
send in time until access to stack is allowed.

In my case, processing time in CGI takes 5 milliseconds + 5 
milliseconds on saving the stack and it's unlikely 2 users out of 
50-100 would hit "finish quiz" button inside the same 10 millisecond 
time spot. I hope in worth case scenario  there would be just extra 
20-30 milliseconds before user request would be processed. Or, if all 
100 users would send request at exactly same time it would be 10x100= 1 
second delay for user # 100 :). I would probably write a test stack 
that would imitate and benchmark  such situation.

Still, stay-resident solution for MC CGI engine would be great been it 
running as daemon or with fastCGI or whatever.
  Pierre in his  article writes that "Only the Linux platform will 
provide the opportunity to use the Metacard/Revolution applications 
server in daemon mode" and while he mentions OS X and win XP as well 
later and has his solution for download 
"http://istream.homeunix.com/insead/index_en.html" , it's not clear for 
me if it would make MC CGI stay-resident on OS X and solve above "write 
to stack" problem, even  if I dig in and implement his solution.

Basically, it would be great to know if anybody succeeded in making MC 
CGI stay-resident on OS X (I don't have linux box) and thus preventing  
engine quitting  after CGI script is executed and launching the new 
copy of the engine on each call.

Any insights ?

best regards
Tariel



More information about the metacard mailing list