Hi Fabio,

On Wed, Feb 10, 2010 at 5:20 PM, Fabio Mascarenhas <mascaren...@acm.org>wrote:

> On Wed, Feb 10, 2010 at 7:05 PM, Ryan Pusztai <rpusz...@gmail.com> wrote:
>
>> Hi,
>>
>> I am using Orbit to write a web app and I have a very lengthy process of
>> importing 500+ files into a database and I wanted to give the user feedback
>> as this process continues. Is there a way to give the user updates?
>>
>> Even if it could be a "Please Wait..." message, then do the work, and then
>> redirect to a complete status page. I know that web:redirect() exists, but I
>> am having a tough time figuring out how to display a "please wait" message
>> then starting the actual lengthy process.
>>
>> Sorry if this is a silly question, but I just can't seem to get it
>> working.
>>
>
> Ryan, Orbit does not buffer output by default, so you can't send a response
> to the client and continue processing. You have to use a special WSAPI rule
> to do that:
>
> -------
>
> local function wsapi_action(wsapi_env, param)
>   local request = wsapi.request.new(wsapi_env)
>   local response = coroutine.wrap(function ()
>     coroutine.yield(my_waiting_html)
>     ... do long operation ...
>     coroutine.yield(rest of response)
>   end)
>   return 200, { ["Content-Type"] = "text/html" }, response
> end
>
> orbit_app:dispatch_wsapi(wsapi_action, "/foo/(%d+)")
> --------
>
> WSAPI's request object is pretty similar to Orbit's web object, but
> slightly different. Please see the WSAPI docs.
>

So I updated to the latest Kepler (Orbit v2.1.0 -> 2.2.0, WSAPI v1.2 ->
1.3.xi) and now this is not working using fcgid in Apache2 on Ubuntu v8.04
(Hardy). It works in Xavante. Any ideas?
-- 
Regards,
Ryan
_______________________________________________
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