Files
@ fe050a93936b
Branch filter:
Location: kallithea/init.d/kallithea-upstart.conf - annotation
fe050a93936b
759 B
text/plain
hg: Redirect Mercurial stdout/stderr to logging when running as WSGI
Any "console" output from Mercurial when Kallithea is running from WSGI
should end up in Kallithea's logs. That seems like a nice general feature.
This will however also solve another rare but more critical problem:
Mercurial is writing to sys.stdout / sys.stderr, using several layers of
wrapping. Since Mercurial 5.5 (with
https://repo.mercurial-scm.org/hg/rev/8e04607023e5 ), all writes are given a
memoryview.
Apache httpd mod_wsgi is invoking the WSGI with a custom mod_wsgi.Log injected
in sys.stdout / sys.stderr . This logger can however not handle memoryview -
https://github.com/GrahamDumpleton/mod_wsgi/issues/863 .
Any "console" output from Mercurial when Kallithea is running from WSGI
should end up in Kallithea's logs. That seems like a nice general feature.
This will however also solve another rare but more critical problem:
Mercurial is writing to sys.stdout / sys.stderr, using several layers of
wrapping. Since Mercurial 5.5 (with
https://repo.mercurial-scm.org/hg/rev/8e04607023e5 ), all writes are given a
memoryview.
Apache httpd mod_wsgi is invoking the WSGI with a custom mod_wsgi.Log injected
in sys.stdout / sys.stderr . This logger can however not handle memoryview -
https://github.com/GrahamDumpleton/mod_wsgi/issues/863 .
99ad9d0af1a3 99ad9d0af1a3 99ad9d0af1a3 99ad9d0af1a3 e285bb7abb28 e285bb7abb28 99ad9d0af1a3 99ad9d0af1a3 99ad9d0af1a3 99ad9d0af1a3 99ad9d0af1a3 99ad9d0af1a3 99ad9d0af1a3 99ad9d0af1a3 99ad9d0af1a3 99ad9d0af1a3 99ad9d0af1a3 99ad9d0af1a3 99ad9d0af1a3 99ad9d0af1a3 99ad9d0af1a3 2c3d30095d5e 99ad9d0af1a3 99ad9d0af1a3 e285bb7abb28 99ad9d0af1a3 | # kallithea - run the kallithea daemon as an upstart job
# Change variables/paths as necessary and place file /etc/init/kallithea.conf
# start/stop/restart as normal upstart job (ie: $ start kallithea)
description "Kallithea Mercurial Server"
author "Matt Zuba <matt.zuba@goodwillaz.org"
start on (local-filesystems and runlevel [2345])
stop on runlevel [!2345]
respawn
umask 0022
env PIDFILE=/var/hg/kallithea/kallithea.pid
env LOGFILE=/var/hg/kallithea/log/kallithea.log
env APPINI=/var/hg/kallithea/production.ini
env HOME=/var/hg
env USER=hg
env GROUP=hg
exec /var/hg/.virtualenvs/kallithea/bin/gearbox serve --user=$USER --group=$GROUP --pid-file=$PIDFILE --log-file=$LOGFILE -c $APPINI
post-stop script
rm -f $PIDFILE
end script
|