Реализация Django Celery - OSError: [Errno 38] Функция не реализована

Я установил django-celery и попытался запустить рабочий сервер, но получил ошибку OSError о том, что функция не реализована. Я использую CentOS версии 5.4 (Final) на VPS:

    . 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

Я просто полностью облажался или есть простой способ решить эту проблему?


person Jordan Messina    schedule 22.07.2010    source источник
comment
Этот ответ на другой вопрос, кажется, показывает, что многопроцессорность, по крайней мере, работает на CentOS 5.4: "> stackoverflow.com/questions/2009278/ Так что вы, вероятно, не так уж далеки от решения этой проблемы.   -  person asksol    schedule 25.07.2010


Ответы (1)


такая же проблема на ubuntu 10, даже после предоставления полных прав на shmem - проблема все еще здесь...

UP- наконец-то сделано, /dev/shm не смонтирован. поэтому добавьте shm в fstab mount shm установите полные разрешения 777 на /dev/shm

person Andrew    schedule 13.09.2010
comment
У меня именно такая проблема, /dev/shm был там, но не 777, поэтому я его chmodd, но проблема все еще существует (Ubuntu 10.10 VPS). Любая идея, как это исправить (я даже не знаю, в чем проблема на самом деле)? - person cerberos; 21.06.2011
comment
Получил работу, добавив none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0 к /etc/fstab и перезагрузив компьютер, получил эту информацию из stackoverflow.com/questions/2009278/ - person cerberos; 21.06.2011
comment
Почему перезагрузка? Разве mount -a недостаточно? - person Federico; 26.02.2012