2010-07-22 40 views
10

Tôi đã cài đặt django-celery và tôi đã cố gắng khởi động máy chủ công nhân nhưng tôi nhận được OSError rằng chức năng không được triển khai. Tôi đang chạy CentOS phát hành 5.4 (Final) trên một VPS:Triển khai Django Celery - OSError: [Errno 38] Chức năng không được triển khai

. 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 

Tôi chỉ hoàn toàn hơi say hoặc có cách nào dễ dàng để giải quyết vấn đề này?

+0

Câu trả lời này đến câu hỏi khác dường như hiển thị đa xử lý được ít nhất làm việc trên CentOS 5.4: http://stackoverflow.com/questions/ 2009278/python-multiprocessing-permission-denied Vì vậy, bạn có lẽ không phải là cách xa để giải quyết nó. – asksol

Trả lời

12

cùng vấn đề trên ubuntu 10, ngay cả sau khi quyền đầy đủ về shmem được trao - vấn đề vẫn còn ở đây ...

Up-cuối cùng thực hiện,/dev/shm đã không gắn kết. nên add shm để fstab gắn shm thiết lập đầy đủ 777 điều khoản trên/dev/shm

+0

Tôi đã có chính xác vấn đề này,/dev/shm đã có nhưng không 777 vì vậy tôi chmodded nó, nhưng sau khi vấn đề vẫn còn tồn tại (Ubuntu 10.10 VPS). Bất kỳ ý tưởng làm thế nào để sửa chữa nó (tôi thậm chí không biết những gì vấn đề là thực sự)? – cerberos

+4

Làm cho nó hoạt động bằng cách thêm 'none/dev/shm tmpfs rw, nosuid, nodev, noexec 0 0' vào'/etc/fstab' và khởi động lại, nhận thông tin này từ http://stackoverflow.com/questions/2009278/python -multiprocessing-permission-denied # comment-6467139 – cerberos

+2

Tại sao khởi động lại? Không phải là "gắn kết -a" đủ? – Federico

Các vấn đề liên quan