Mercurial > kallithea
view docs/usage/troubleshooting.rst @ 5770:82f818616265
db: cache SCM instance short-term (tied to SQLAlchemy session lifetime)
Repeatedly checking whether SCM instances are invalidated is slow, and
we don't actually _want_ SCM instances to invalidate half-way through
a request either.
Therefore cache them in on the db.Repository object, the lifetime
of which is directly tied to the lifetime of the SQLAlchemy session,
the lifetime of which is tied directly to the individual HTTP request.
This way, we only check for invalidation the first time the SCM instance
is accessed in a request.
This will improve performance in cases where we have (by definition) badly
written code that retrieves repo objects several times.
author | Søren Løvborg <sorenl@unity3d.com> |
---|---|
date | Tue, 08 Mar 2016 12:28:06 +0100 |
parents | 8867673c8192 |
children | 84d2a9aaa1a4 cc21a2b86a30 |
line wrap: on
line source
.. _troubleshooting: =============== Troubleshooting =============== :Q: **Missing static files?** :A: Make sure either to set the ``static_files = true`` in the .ini file or double check the root path for your http setup. It should point to for example: ``/home/my-virtual-python/lib/python2.7/site-packages/kallithea/public`` | :Q: **Can't install celery/rabbitmq?** :A: Don't worry. Kallithea works without them, too. No extra setup is required. Try out the great Celery docs for further help. | :Q: **Long lasting push timeouts?** :A: Make sure you set a longer timeout in your proxy/fcgi settings. Timeouts are caused by the http server and not Kallithea. | :Q: **Large pushes timeouts?** :A: Make sure you set a proper ``max_body_size`` for the http server. Very often Apache, Nginx, or other http servers kill the connection due to to large body. | :Q: **Apache doesn't pass basicAuth on pull/push?** :A: Make sure you added ``WSGIPassAuthorization true``. | :Q: **Git fails on push/pull?** :A: Make sure you're using a WSGI http server that can handle chunked encoding such as ``waitress`` or ``gunicorn``. | :Q: **How can I use hooks in Kallithea?** :A: It's easy if they are Python hooks: just use advanced link in hooks section in Admin panel, that works only for Mercurial. If you want to use Git hooks, just install th proper one in the repository, e.g., create a file `/gitrepo/hooks/pre-receive`. You can also use Kallithea-extensions to connect to callback hooks, for both Git and Mercurial. | :Q: **Kallithea is slow for me, how can I make it faster?** :A: See the :ref:`performance` section. | :Q: **UnicodeDecodeError on Apache mod_wsgi** :A: Please read: https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/modwsgi/#if-you-get-a-unicodeencodeerror. | :Q: **Requests hanging on Windows** :A: Please try out with disabled Antivirus software, there are some known problems with Eset Anitivirus. Make sure you have installed the latest Windows patches (especially KB2789397). .. _virtualenv: http://pypi.python.org/pypi/virtualenv .. _python: http://www.python.org/ .. _mercurial: http://mercurial.selenic.com/ .. _celery: http://celeryproject.org/ .. _rabbitmq: http://www.rabbitmq.com/ .. _python-ldap: http://www.python-ldap.org/