With isolated=true WSAPI will run your scripts in a pool of Rings, and will collect and respawn the Rings periodically, so isolated=false is the behavior you want, as you are only running a single script anyway.
-- Fabio Mascarenhas On Wed, Dec 29, 2010 at 2:48 PM, Tiago Katcipis <katci...@inf.ufsc.br>wrote: > > > On Wed, Dec 29, 2010 at 11:31 AM, Tiago Katcipis <katci...@inf.ufsc.br>wrote: > >> Hi all, >> >> I'm having some problem using wsapi-fastcgi with lighthttpd. I got >> everything working fine, but every time an error occurs (any 4xx) or someone >> send a DELETE method request my script is reloaded. I don't want the script >> to reload because every time this happens i reconnect to the db and the >> older connections get lost and the db continues to consume resources (on >> this case is mongo db, a thread gets locked forever each time my script is >> reloaded). >> >> When there is no error 4XX or DELETE everything works as expected, the >> script is not reloaded on each request and the connection is reused (i run >> an init function when the script is loaded, but it is supposed to run only >> once and them handle the requests without reloading). >> >> Here is the configuration that i run the fastcgi: >> >> #!/usr/bin/lua >> local common = require "wsapi.common" >> local fastcgi = require "wsapi.fastcgi" >> >> local ONE_HOUR = 60 * 60 >> local ONE_DAY = 24 * ONE_HOUR >> >> local wsapi_loader = common.make_loader{ >> isolated = true, -- isolate each script in its own Lua state >> > > Taking a good look at the code i just changed the isolated = true to false, > so it would call the make_persistent_loader instead of the isolated. It > worked fine just as i expected, still don't know why with isolated = true it > reloads the script when returning a 4XX or receiving a DELETE. > > I'm working with only one script, so the problem seems resolved to me. > > Sorry for the noise. > > Best regards, > Katcipis > > >> filename = nil, -- if you want to force the launch of a single script >> launcher = "idlocutor.fcgi", -- the name of this script >> reload = false, -- if you want to reload the application on >> every request >> period = ONE_HOUR, -- frequency of Lua state staleness checks >> ttl = ONE_DAY, -- time-to-live for Lua states >> vars = -- order of checking for the path of the >> script >> { "SCRIPT_FILENAME", >> "PATH_TRANSLATED" } >> } >> >> fastcgi.run(wsapi_loader) >> >> >> i tried to take a look on wsapi.fastcgi and them on wsapi.commom to >> understand why it could be reloading my script, i understood that when the >> file is modified or reload is true it will reload the script on a new >> lua_State, but i was unable to find another moment when this is >> done..related to the errors (the rings logic is not too much easy to >> understand, specially to me, never used rings). >> >> this reload problem (or maybe expected behaviour....i don't know) is >> caused by wsapi? wsapi-fastcgi? or is something related to lighthttpd? (i >> doubt of that because the pid of the fastcgi process remains the same...it >> seems that wsapi is reloading the script internally) I'm kinda new to web >> development, sorry I'm asking something stupid. >> >> >> best regards, >> Katcipis >> > > > > -- > http://www.getgnulinux.org/windows > > _______________________________________________ > Kepler-Project mailing list > Kepler-Project@lists.luaforge.net > http://lists.luaforge.net/cgi-bin/mailman/listinfo/kepler-project > http://www.keplerproject.org/ >
_______________________________________________ Kepler-Project mailing list Kepler-Project@lists.luaforge.net http://lists.luaforge.net/cgi-bin/mailman/listinfo/kepler-project http://www.keplerproject.org/