我在我的一个项目中使用 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 身份运行开发服务器时,它不会给我这个错误。我认为它可能与文件或套接字权限有关,但我不知道去哪里修复它。