On Mon, Jan 3, 2011 at 11:27 AM, Tiago Katcipis <katci...@inf.ufsc.br>wrote:

>
>
> On Mon, Jan 3, 2011 at 11:15 AM, Fabio Mascarenhas <mascaren...@acm.org>wrote:
>
>> With isolated=true WSAPI will run your scripts in a pool of Rings, and
>> will collect and respawn the Rings periodically,
>>
>
> besides periodically, on any 4XX and on DELETE method it will be respawned
> too? just for curiosity :-).
>
>
>> so isolated=false is the behavior you want, as you are only running a
>> single script anyway.
>>
>
> everything is working ok now, it took some time and a good read on the
> source to understand this clearly.
>

With a little further testing...things seems to not be that ok after all.

After making a lot of requests (GET, POST, DELETE) wsapi starts to respond
the following:

*<html>
        <head><title>WSAPI Error in Application</title></head>
        <body>
        <p>There was an error in the specified application.
        The full error message follows:</p>
<pre>
/usr/lib/lua/5.1/wsapi/common.lua:78: not a valid WSAPI application
stack traceback:
    [C]: in function 'error'
    /usr/lib/lua/5.1/wsapi/common.lua:78: in function
</usr/lib/lua/5.1/wsapi/common.lua:65>
    (tail call): ?
    (tail call): ?
    /usr/lib/lua/5.1/wsapi/common.lua:710: in function
'load_wsapi_persistent'
    /usr/lib/lua/5.1/wsapi/common.lua:728: in function
</usr/lib/lua/5.1/wsapi/common.lua:721>
    (tail call): ?
    (tail call): ?
    [C]: in function 'xpcall'
    /usr/lib/lua/5.1/wsapi/common.lua:254: in function 'run_app'
    /usr/lib/lua/5.1/wsapi/common.lua:281: in function 'run'
    /usr/lib/lua/5.1/wsapi/fastcgi.lua:40: in function 'run'
    ./idlocutor.fcgi:20: in main chunk
    [C]: ?
</pre>
        </body>
        </html>

*It happens randomly (taking a look at the debug of my fastcgi, no error is
reported, everything is working fine, suddenly this error starts and my
fastcgi is not even called), and what could mean "not a valid WSAPI
application" ??? My lua script stopped to be a WSAPI application ?

It does not try to reload the script, the only way i can get out of it is by
killing the fastcgi process (wsapi.fastcgi). So the server starts a new one
and everything goes back to normal...until the problem happens again.*

*someone has a hint of what this could be? it started to happens with the
isolated = false option.*

*Best regards,
Katcipis*

*

>
> Thanks for the help,
> Katcipis
>
>
>>
>> --
>> 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/
>>
>
>
>
> --
> http://www.getgnulinux.org/windows
>



-- 
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/

Reply via email to