Ticket #908 (closed defect: fixed)
Issues deploying extensions with modwsgi / uwsgi
Reported by: | rgrp | Owned by: | pudo |
---|---|---|---|
Priority: | critical | Milestone: | ckan-v1.4-sprint-1 |
Component: | ckan | Keywords: | |
Cc: | Repository: | ||
Theme: |
Description (last modified by rgrp) (diff)
Some extensions import pylons features (such as request) at root.
Have encountered following issues:
- You need to import ckanext before any ckan stuff in your wsgi script (extension stats and dataapi)
- Running under wsgi daemon mode (normal mode is fine!) the front page (front page only) will not work (does not occur with disqus or synchronous_search but does with stats and dataapi extensions). You get errors like this in the log:
[Mon Jan 17 09:01:19 2011] [error] Exception KeyError: KeyError(-1218594160,) in <module 'threading' from '/usr/lib/python2.6/threading.pyc'> ignored [Mon Jan 17 09:01:20 2011] [error] Exception AttributeError: "'NoneType' object has no attribute 'clearing'" in <bound method PluginEnvironment.__del__ of Services for Environment '<default>'
Change History
comment:2 Changed 3 years ago by wwaites
see also from http://knowledgeforge.net/okfn/tasks/ticket/485
(pyenv)okfn@eu7:~/var/srvc/ckan.net$ sudo uwsgi -C -iH /home/okfn/var/srvc/ckan.net/pyenv --paste config:ckan.net.ini --uid www-data -s 10.48.162.201:9001 *** Starting uWSGI 0.9.6.6 (32bit) on [Sun Jan 30 16:00:13 2011] *** compiled with version: 4.4.3 Python version: 2.6.5 (r265:79063, Apr 16 2010, 13:28:26) [GCC 4.4.3] uWSGI running as root, you can use --uid/--gid/--chroot options setuid() to 33 *** WARNING: you are running uWSGI without its master process manager *** your memory page size is 4096 bytes allocated 412 bytes (0 KB) for 1 request's buffer. Setting PythonHome to /home/okfn/var/srvc/ckan.net/pyenv... binding on TCP port: 9001 your server socket listen backlog is limited to 64 connections initializing hooks...done. Loading paste environment: config:ckan.net.ini Traceback (most recent call last): File "/home/okfn/var/srvc/ckan.net/pyenv/lib/python2.6/site-packages/paste/deploy/__init__.py", line 3, in <module> from loadwsgi import * File "/home/okfn/var/srvc/ckan.net/pyenv/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 8, in <module> import pkg_resources File "/home/okfn/var/srvc/ckan.net/pyenv/lib/python2.6/site-packages/pkg_resources.py", line 2691, in <module> add_activation_listener(lambda dist: dist.activate()) File "/home/okfn/var/srvc/ckan.net/pyenv/lib/python2.6/site-packages/pkg_resources.py", line 668, in subscribe callback(dist) File "/home/okfn/var/srvc/ckan.net/pyenv/lib/python2.6/site-packages/pkg_resources.py", line 2691, in <lambda> add_activation_listener(lambda dist: dist.activate()) File "/home/okfn/var/srvc/ckan.net/pyenv/lib/python2.6/site-packages/pkg_resources.py", line 2195, in activate map(declare_namespace, self._get_metadata('namespace_packages.txt')) File "/home/okfn/var/srvc/ckan.net/pyenv/lib/python2.6/site-packages/pkg_resources.py", line 1790, in declare_namespace _handle_ns(packageName, path_item) File "/home/okfn/var/srvc/ckan.net/pyenv/lib/python2.6/site-packages/pkg_resources.py", line 1761, in _handle_ns loader.load_module(packageName); module.__path__ = path File "/usr/lib/python2.6/pkgutil.py", line 238, in load_module mod = imp.load_module(fullname, self.file, self.filename, self.etc) File "/home/okfn/var/srvc/ckan.net/pyenv/src/ckanext-dataapi/ckanext/dataapi/__init__.py", line 36, in <module> from pylons import config File "/home/okfn/var/srvc/ckan.net/pyenv/lib/python2.6/site-packages/pylons/__init__.py", line 4, in <module> from pylons.config import config File "/home/okfn/var/srvc/ckan.net/pyenv/lib/python2.6/site-packages/pylons/config.py", line 2, in <module> from pylons.configuration import * File "/home/okfn/var/srvc/ckan.net/pyenv/lib/python2.6/site-packages/pylons/configuration.py", line 25, in <module> import pylons.legacy File "/home/okfn/var/srvc/ckan.net/pyenv/lib/python2.6/site-packages/pylons/legacy.py", line 11, in <module> from pylons.util import deprecated, func_move File "/home/okfn/var/srvc/ckan.net/pyenv/lib/python2.6/site-packages/pylons/util.py", line 18, in <module> from paste.script.appinstall import Installer File "/home/okfn/var/srvc/ckan.net/pyenv/lib/python2.6/site-packages/paste/script/appinstall.py", line 23, in <module> from paste.deploy import appconfig ImportError: cannot import name appconfig
comment:5 Changed 3 years ago by wwaites
- Status changed from closed to reopened
- Resolution fixed deleted
- Summary changed from Issues deploying extensions with modwsgi to Issues deploying extensions with modwsgi / uwsgi
Not fixed. Try running with:
uwsgi -C -iH /path/to/your/pyenv --paste config:ckan.net.ini -s 127.0.0.1:9000
Still get giant traceback relating to a circular import centered on an arbitrary plugin
Note: See
TracTickets for help on using
tickets.