2010-07-22 2 views
10

J'ai installé django-celery et j'ai essayé de démarrer le serveur worker mais j'ai une erreur OSError qu'une fonction n'est pas implémentée. Je suis en cours d'exécution CentOS version 5.4 (Final) sur un VPS:Implémentation de Django Celery - OSError: [Errno 38] Fonction non implémentée

. broker -> amqp://[email protected]: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 

Suis-je juste déconné ou est-il un moyen facile de résoudre ce problème?

+0

Cette réponse à une autre question semble montrer que multitraitement est au moins travaille sur CentOS 5.4: http://stackoverflow.com/questions/ 2009278/python-multiprocessing-permission-denied Donc vous n'êtes probablement pas si loin de le résoudre. – asksol

Répondre

12

même question sur ubuntu 10, même après tous les droits sur shmem sont données - problème encore ici ...

UP- finalement fait,/dev/SHM n'a pas été monté. si add SHM à FSTAB montage SHM complet 777 permissions sur/dev/shm

+0

J'ai exactement ce problème,/dev/shm était là mais pas 777 donc je l'ai chmodded, mais après que le problème existe toujours (Ubuntu 10.10 VPS). Une idée de comment y remédier (je ne sais même pas quel est le problème)? – cerberos

+4

Vous pouvez le faire en ajoutant 'none/dev/shm tmpfs rw, nosuid, nodev, noexec 0 0'' '/ etc/fstab' et redémarrer, vous avez obtenu cette information depuis http://stackoverflow.com/questions/2009278/python -multiprocessing-permission-denied # comment-6467139 – cerberos

+2

Pourquoi redémarrer? Est-ce que "mount -a" n'est pas suffisant? – Federico

Questions connexes