Fork of WebGUI 7.10, maintained by Oqapi https://git.oqapi.nl/oqapi/webgui
Find a file
2010-04-13 17:46:43 -04:00
docs more work on Admin. added FamFamFam icon set 2010-04-06 15:45:42 -05:00
eg Logging fallback 2010-04-13 17:46:43 -04:00
etc minor refactoring 2010-04-07 10:50:45 -04:00
lib Logging fallback 2010-04-13 17:46:43 -04:00
sbin Started ripping out mod_perl 2010-04-06 18:21:46 -04:00
t Demo site loads 2010-04-06 18:21:46 -04:00
www more work on Admin. added FamFamFam icon set 2010-04-06 15:45:42 -05:00
.gitignore Fixed #10967: Using a round bracket (parenthesis) in a macro. Unbalanced parentheses can now be escaped in macro calls using the backslash character. 2009-09-14 14:27:14 -04:00
.perltidyrc perltidyrc now placed where it can do the most good 2009-05-29 18:50:01 +00:00
app.psgi Made $session->log->fatal() message pass through 2010-04-10 23:45:22 -04:00
asset_status.ods Add a sheet to track Roles. 2010-03-05 15:17:05 -08:00
benchmark.pl Logging fallback 2010-04-13 17:46:43 -04:00
README Logging fallback 2010-04-13 17:46:43 -04:00
TODO Added exception handling 2010-04-10 22:52:40 -04:00
WebGUI-Session-Plack.pm Added WebGUI::Requestion/Response 2010-04-06 19:35:06 -04:00

This is the PSGI branch of WebGUI8

Currently, the best performance is achieved via:

 plackup -E none -s Starman --workers 10 --disable-keepalive
 
You can benchmark your server via:

 ab -t 3 -c 10 -k http://dev.localhost.localdomain:5000/ | grep Req
 
I'm currently getting 23 requests/second, whereas I'm getting 30/second on the non-PSGI WebGUI8 branch.

= ARCHITECTURE =

* The .psgi file gets to set WEBGUI_ROOT and WEBGUI_CONFIG.
* It instantiates the $wg WebGUI object (one per app).
* $wg creates and stores the WebGUI::Config (one per app)
* $wg creates the $app PSGI app code ref (one per app)
* WebGUI::Middleware::Session is wrapped around $app at the outer-most layer so that it can open and
  close the $session WebGUI::Session. Any other wG middleware that needs $session should go in between
  it and $app ($session created one per request)
* $session creates the $request WebGUI::Session::Request and $response WebGUI::Session::Response 
  objects (one per request)