Django Celery实现 - OSError:[Errno 38]函数未实现

时间:2010-07-22 22:32:50

标签: python django celery celery-task

我安装了django-celery,我尝试启动工作服务器,但是我得到一个没有实现函数的OSError。我在VPS上运行CentOS 5.4版(最终版):

    . broker -> amqp://guest@localhost:5672/
    . queues ->
        . celery -> exchange:celery (direct) binding:celery
    . concurrency -> 4
    . loader -> djcelery.loaders.DjangoLoader
    . logfile -> [stderr]@WARNING
    . events -> OFF
    . beat -> OFF
[2010-07-22 17:10:01,364: WARNING/MainProcess] Traceback (most recent call last):
[2010-07-22 17:10:01,364: WARNING/MainProcess] File "manage.py", line 11, in <module>
[2010-07-22 17:10:01,364: WARNING/MainProcess] execute_manager(settings)
[2010-07-22 17:10:01,364: WARNING/MainProcess] File "/usr/local/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager
[2010-07-22 17:10:01,364: WARNING/MainProcess] utility.execute()
[2010-07-22 17:10:01,364: WARNING/MainProcess] File "/usr/local/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute
[2010-07-22 17:10:01,365: WARNING/MainProcess] self.fetch_command(subcommand).run_from_argv(self.argv)
[2010-07-22 17:10:01,365: WARNING/MainProcess] File "/usr/local/lib/python2.6/site-packages/django/core/management/base.py", line 191, in run_from_argv
[2010-07-22 17:10:01,365: WARNING/MainProcess] self.execute(*args, **options.__dict__)
[2010-07-22 17:10:01,365: WARNING/MainProcess] File "/usr/local/lib/python2.6/site-packages/django/core/management/base.py", line 218, in execute
[2010-07-22 17:10:01,365: WARNING/MainProcess] output = self.handle(*args, **options)
[2010-07-22 17:10:01,365: WARNING/MainProcess] File "/usr/local/lib/python2.6/site-packages/django_celery-2.0.0-py2.6.egg/djcelery/management/commands/celeryd.py", line 22, in handle
[2010-07-22 17:10:01,366: WARNING/MainProcess] run_worker(**options)
[2010-07-22 17:10:01,366: WARNING/MainProcess] File "/usr/local/lib/python2.6/site-packages/celery-2.0.1-py2.6.egg/celery/bin/celeryd.py", line 385, in run_worker
[2010-07-22 17:10:01,366: WARNING/MainProcess] return Worker(**options).run()
[2010-07-22 17:10:01,366: WARNING/MainProcess] File "/usr/local/lib/python2.6/site-packages/celery-2.0.1-py2.6.egg/celery/bin/celeryd.py", line 218, in run
[2010-07-22 17:10:01,366: WARNING/MainProcess] self.run_worker()
[2010-07-22 17:10:01,366: WARNING/MainProcess] File "/usr/local/lib/python2.6/site-packages/celery-2.0.1-py2.6.egg/celery/bin/celeryd.py", line 312, in run_worker
[2010-07-22 17:10:01,367: WARNING/MainProcess] worker.start()
[2010-07-22 17:10:01,367: WARNING/MainProcess] File "/usr/local/lib/python2.6/site-packages/celery-2.0.1-py2.6.egg/celery/worker/__init__.py", line 206, in start
[2010-07-22 17:10:01,367: WARNING/MainProcess] component.start()
[2010-07-22 17:10:01,367: WARNING/MainProcess] File "/usr/local/lib/python2.6/site-packages/celery-2.0.1-py2.6.egg/celery/concurrency/processes/__init__.py", line 54, in start
[2010-07-22 17:10:01,367: WARNING/MainProcess] maxtasksperchild=self.maxtasksperchild)
[2010-07-22 17:10:01,367: WARNING/MainProcess] File "/usr/local/lib/python2.6/site-packages/celery-2.0.1-py2.6.egg/celery/concurrency/processes/pool.py", line 448, in __init__
[2010-07-22 17:10:01,368: WARNING/MainProcess] self._setup_queues()
[2010-07-22 17:10:01,368: WARNING/MainProcess] File "/usr/local/lib/python2.6/site-packages/celery-2.0.1-py2.6.egg/celery/concurrency/processes/pool.py", line 564, in _setup_queues
[2010-07-22 17:10:01,368: WARNING/MainProcess] self._inqueue = SimpleQueue()
[2010-07-22 17:10:01,368: WARNING/MainProcess] File "/usr/local/lib/python2.6/multiprocessing/queues.py", line 315, in __init__
[2010-07-22 17:10:01,368: WARNING/MainProcess] self._rlock = Lock()
[2010-07-22 17:10:01,368: WARNING/MainProcess] File "/usr/local/lib/python2.6/multiprocessing/synchronize.py", line 117, in __init__
[2010-07-22 17:10:01,369: WARNING/MainProcess] SemLock.__init__(self, SEMAPHORE, 1, 1)
[2010-07-22 17:10:01,369: WARNING/MainProcess] File "/usr/local/lib/python2.6/multiprocessing/synchronize.py", line 49, in __init__
[2010-07-22 17:10:01,369: WARNING/MainProcess] sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)
[2010-07-22 17:10:01,369: WARNING/MainProcess] OSError
[2010-07-22 17:10:01,369: WARNING/MainProcess] :
[2010-07-22 17:10:01,369: WARNING/MainProcess] [Errno 38] Function not implemented

我是完全搞砸了还是有一种简单的方法来解决这个问题?

1 个答案:

答案 0 :(得分:12)

同样的问题在ubuntu 10上,即使在给予shmem的完全权利之后 - 问题仍然存在......

UP-最后完成,/ dev / shm未安装。所以 将shm添加到fstab 山shm 在/ dev / shm上设置完整的777权限