Skip to content

pongraczi/LedgerSMB

This branch is 49 commits ahead of, 46 commits behind ledgersmb/LedgerSMB:1.3.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5f11e6e · Nov 1, 2014
Nov 1, 2014
Oct 16, 2014
Oct 17, 2014
Mar 28, 2014
Sep 8, 2014
Oct 31, 2014
Oct 31, 2014
Apr 26, 2007
Mar 25, 2012
Aug 24, 2014
Oct 24, 2014
Oct 31, 2014
Sep 30, 2014
Oct 26, 2013
Aug 17, 2014
Dec 20, 2007
Apr 5, 2014
Sep 8, 2014
Dec 26, 2012
Sep 22, 2007
Dec 26, 2012
Sep 24, 2013
Sep 1, 2006
Oct 25, 2014
Aug 24, 2014
Mar 24, 2007
Oct 31, 2014
Jan 16, 2013
Dec 6, 2012
Mar 25, 2012
Jul 2, 2011
Oct 20, 2011
Jun 20, 2011
Mar 25, 2012
Oct 31, 2014
Oct 17, 2011
Oct 17, 2011
Jun 20, 2011
Jun 20, 2011
Jun 20, 2011
Jul 6, 2011
Jun 20, 2011
Jun 20, 2011
Aug 1, 2013
Dec 23, 2012
Apr 26, 2007
Oct 17, 2011
Oct 17, 2011
Jun 20, 2011
Mar 24, 2007
Oct 17, 2011
Jun 20, 2011
Jun 20, 2011
Sep 1, 2006
Nov 24, 2011
Mar 9, 2010
Jun 20, 2011
Jun 20, 2011
Jun 20, 2011
Jun 20, 2011
Jun 20, 2011
Oct 17, 2011
Jan 18, 2014
Jun 11, 2011
Dec 28, 2013
Jun 20, 2011
Oct 17, 2011
Dec 3, 2012
Apr 26, 2007
Jun 20, 2011
Jun 20, 2011
Jan 4, 2013
Jun 20, 2011
Jun 20, 2011
Dec 15, 2011
Jun 20, 2011
Oct 17, 2011
Apr 26, 2007
Jun 20, 2011
Oct 17, 2011
Jun 20, 2011
Oct 17, 2011
Jun 20, 2011
Jun 20, 2011
Oct 17, 2011
Sep 19, 2006

Repository files navigation

README for Plack FCGI interface for LedgerSMB
Chris Travers
2012-11-13
----------------

WARNING:  Plack support for LedgerSMB is still designated as "expermental" which
means that it may have bugs not found in the core distribution.  Serious bugs in
this area were fixed as recently as 1.3.25.  Use at your own risk.  In addition,
persistant code environments are more sensitive generally than the CGI
environments and when the script dies one does not always get a helpful error.
In particular, blank, white screens are typical of the software exiting before
the standard output is returned to the web server.  There have been cases (which
have been corrected) which caused these kinds of errors under plack only.

----------------

This addon provides an app.psgi for LedgerSMB which allows you to properly run
servelets as fcgi scripts instead of as CGI scripts.  This makes LedgerSMB
significantly more responsive but performance is more difficult to manage under
load.

The current module preloads a fair number of modules and then runs a
fork/wait/execute loop where the less safe code is run.  This performs well on
platforms which provide copy on write functionality, but may not perform as well
on Windows.  The startup overhead for the dependencies is thus limited in this
case to a one-time load on starting the servelet.  Tests suggest that this
eliminates 2/3 or more of the startup overhead.

This module has been tested on fcgi backends but has not been tested on other 
backends.  I know of no reason it shouldn't work on starlet and other backends,
so if it works for you, please let us know.

The preloads are all set in the app.psgi.  You can adjust them there.  Note that
preloaded modules are not reloaded when altered so you will have to restart the
fcgi daemon if you change the preloads.  One solution is that for a performance
cost you can comment out a preload, and restart the daemon when working on a
preloaded module.

Currently this will preload configuration settings so changes to the
ledgersmb.conf will require a restart.

By default this currently starts up to 10 processes.  This number can be
tweaked.

To run the servelet, you will need to run the following from a startup script
somewhere:

plackup -s FCGI -D --listen /var/run/httpd/fastcgi/lsmb.sock

We have also packaged a few utilities here that are helpful, and these are
included in the tools/system directory.  These include lsmbstart and lsmbstop,
both bash scripts designed to start and stop the fcgi processes.  We also
include ledgersmb.service which is a systemd config file for systemd systems
(including Fedora) to use in starting/stopping the service.  A Sys V init script
is not currently included but that is likely to be in future versions
(contributions welcome).

About

Master repository for the LedgerSMB project

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Perl 84.3%
  • TeX 11.6%
  • JavaScript 1.8%
  • CSS 1.7%
  • Other 0.6%