3

我在我的一个项目中使用 django celery 并且收到 (13, Permisison denied) 错误。

请参阅下面的回溯:

/usr/lib/python2.4/site-packages/django/core/handlers/base.py in get_response
                    response = callback(request, *callback_args, **callback_kwargs) ...
▶ Local vars
/usr/lib/python2.4/site-packages/django/views/decorators/csrf.py in wrapped_view
        resp = view_func(*args, **kwargs) ...
▶ Local vars
/usr/lib/python2.4/site-packages/django/views/decorators/csrf.py in wrapped_view
        return view_func(*args, **kwargs) ...
▶ Local vars
/var/www/html/django/congressticketing/order/views.py in checkout
      task = create_order.delay(total=(total+shipping_price), cart=cart, shipping_method=shipping_method, form=form) ...
▶ Local vars
/usr/lib/python2.4/site-packages/celery-2.1.4-py2.4.egg/celery/task/base.py in delay
        return self.apply_async(args, kwargs) ...
▶ Local vars
/usr/lib/python2.4/site-packages/celery-2.1.4-py2.4.egg/celery/task/base.py in apply_async
        return apply_async(self, args, kwargs, **options) ...
▶ Local vars
/usr/lib/python2.4/site-packages/celery-2.1.4-py2.4.egg/celery/messaging.py in _inner
            return fun(*args, **kwargs) ...
▶ Local vars
/usr/lib/python2.4/site-packages/celery-2.1.4-py2.4.egg/celery/execute/__init__.py in apply_async
                                              exchange_type=exchange_type) ...
▶ Local vars
/usr/lib/python2.4/site-packages/celery-2.1.4-py2.4.egg/celery/task/base.py in get_publisher
                             routing_key=self.routing_key) ...
▶ Local vars
/usr/lib/python2.4/site-packages/celery-2.1.4-py2.4.egg/celery/messaging.py in __init__
            consumers = get_consumer_set(self.connection) ...
▶ Local vars
/usr/lib/python2.4/site-packages/celery-2.1.4-py2.4.egg/celery/messaging.py in get_consumer_set
                            backend=cset.backend, **queue_options) ...
▶ Local vars
/usr/lib/python2.4/site-packages/carrot-0.10.7-py2.4.egg/carrot/messaging.py in __init__
            self.declare() ...
▶ Local vars
/usr/lib/python2.4/site-packages/carrot-0.10.7-py2.4.egg/carrot/messaging.py in declare
                                       warn_if_exists=self.warn_if_exists) ...
▶ Local vars
/usr/lib/python2.4/site-packages/carrot-0.10.7-py2.4.egg/carrot/backends/pyamqplib.py in queue_declare
        return self.channel.queue_declare(queue=queue, ...
▶ Local vars
/usr/lib/python2.4/site-packages/carrot-0.10.7-py2.4.egg/carrot/backends/pyamqplib.py in channel
            connection = self.connection.connection ...
▶ Local vars
/usr/lib/python2.4/site-packages/carrot-0.10.7-py2.4.egg/carrot/connection.py in connection
            self._connection = self._establish_connection() ...
▶ Local vars
/usr/lib/python2.4/site-packages/carrot-0.10.7-py2.4.egg/carrot/connection.py in _establish_connection
        return self.create_backend().establish_connection() ...
▶ Local vars
/usr/lib/python2.4/site-packages/carrot-0.10.7-py2.4.egg/carrot/backends/pyamqplib.py in establish_connection
                          connect_timeout=conninfo.connect_timeout) ...
▶ Local vars
/usr/lib/python2.4/site-packages/amqplib-0.6.1-py2.4.egg/amqplib/client_0_8/connection.py in __init__
            self.transport = create_transport(host, connect_timeout, ssl) ...
▶ Local vars
/usr/lib/python2.4/site-packages/amqplib-0.6.1-py2.4.egg/amqplib/client_0_8/transport.py in create_transport
        return TCPTransport(host, connect_timeout) ...
▶ Local vars
/usr/lib/python2.4/site-packages/amqplib-0.6.1-py2.4.egg/amqplib/client_0_8/transport.py in __init__
            self.sock.connect((host, port)) 

我认为它与权限有关。服务器的登录凭据很好,除此之外一切正常。

celeryd 守护程序在我提供的 rabbitmq 连接凭据下运行良好。

当我以 root 身份运行开发服务器时,它不会给我这个错误。我认为它可能与文件或套接字权限有关,但我不知道去哪里修复它。

4

1 回答 1

1

我想到了。我正在运行 RHEL5 SELinux。请务必遵循以下页面底部的说明:http ://wiki.apache.org/httpd/13PermissionDenied

于 2010-12-08T13:24:55.437 回答