2010-07-22 18 views
10

Ho installato django-celery e ho provato ad avviare il server di lavoro ma ottengo un OSError che una funzione non è implementata. Sono in esecuzione CentOS rilasciare 5.4 (Finale) su un VPS:Implementazione di Django Celery - OSError: [Errno 38] Funzione non implementata

. 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 

Perchè sono appena completamente avvitati o c'è un modo semplice per risolvere questo?

+0

Questa risposta a un'altra domanda sembra dimostrare che multiprocessing è almeno lavorando su CentOS 5.4: http://stackoverflow.com/questions/ 2009278/python-multiprocessing-permission-negato Quindi probabilmente non sei così lontano dal risolverlo. – asksol

risposta

12

stesso problema su ubuntu 10, anche dopo pieni diritti su shmem sono date - problema ancora qui ...

UP finalmente fatto,/dev/shm non è stato montato. così add SHM a fstab montare SHM serie completa 777 autorizzazioni su/dev/shm

+0

Ho esattamente questo problema,/dev/shm era lì ma non 777, quindi ho smesso di farlo, ma dopo che il problema esiste ancora (Ubuntu 10.10 VPS). Qualche idea su come risolverlo (non so nemmeno quale sia il vero problema)? – cerberos

+4

Funziona aggiungendo 'none/dev/shm tmpfs rw, nosuid, nodev, noexec 0 0' a'/etc/fstab' e riavvio, ottenuto queste informazioni da http://stackoverflow.com/questions/2009278/python -multiprocessing-permission-negato # comment-6467139 – cerberos

+2

Perché riavviare? Non è abbastanza "mount -a"? – Federico

Problemi correlati