Django Celery实现 - OSError:[Errno 38]功能未实现 [英] Django Celery implementation - OSError : [Errno 38] Function not implemented

查看:199
本文介绍了Django Celery实现 - OSError:[Errno 38]功能未实现的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

 。经纪人 - > amqp:// guest @ localhost:5672 / 
。队列 - >
。芹菜 - >交换:芹菜(直接)绑定:芹菜
。并发 - > 4
。装载机 - > djcelery.loaders.DjangoLoader
。日志文件 - > [stderr] @WARNING
。事件 - > OFF
。节拍 - > OFF
[2010-07-22 17:10:01,364:警告/ MainProcess]追溯(最近的最后一次呼叫):
[2010-07-22 17:10:01,364:警告/ MainProcess]文件manage.py,第11行,在< module>
[2010-07-22 17:10:01,364:警告/ MainProcess] execute_manager(设置)
[2010-07-22 17:10:01,364:警告/ MainProcess]文件/ usr / local /lib/python2.6/site-packages/django/core/management/__init__.py,第438行,执行_manager
[2010-07-22 17:10:01,364:WARNING / MainProcess] utility.execute ()
[2010-07-22 17:10:01,364:警告/ MainProcess]文件/usr/local/lib/python2.6/site-packages/django/core/management/__init__.py,行379,执行
[2010-07-22 17:10:01,365:WARNING / MainProcess] self.fetch_command(子命令).run_from_argv(self.argv)
[2010-07-22 17: 10:01,365:警告/ MainProcess]文件/usr/local/lib/python2.6/site-packages/django/core/management/base.py,第191行,在run_from_argv
[2010-07- 22 17:10:01,365:警告/ MainProcess] self.execute(* args,** options .__ dict__)
[2010-07-22 17:10:01,365:警告/ MainProcess]文件/ usr / local /lib/python2.6/site-packages/django/core/management/base.py,第218行,执行
[2010-07-22 17:10:01, 365:WARNING / MainProcess] output = self.handle(* args,** options)
[2010-07-22 17:10:01,365:WARNING / MainProcess]文件/ usr / local / lib / python2。 6 / site-packages / django_celery-2.0.0-py2.6.egg / djcelery / management / commands / celeryd.py,第22行,处理
[2010-07-22 17:10:01,366:警告/ MainProcess] run_worker(** options)
[2010-07-22 17:10:01,366:WARNING / MainProcess]文件/usr/local/lib/python2.6/site-packages/celery-2.0 .1-py2.6.egg / celery / bin / celeryd.py,第385行,run_worker
[2010-07-22 17:10:01,366:WARNING / MainProcess] return Worker(** options) .run()
[2010-07-22 17:10:01,366:WARNING / MainProcess]文件/usr/local/lib/python2.6/site-packages/celery-2.0.1-py2.6 .egg / celery / bin / celeryd.py,行218,运行
[2010-07-22 17:10:01,366:WARNING / MainProcess] self.run_worker()
[2010-07 -22 17:10:01,366:警告/ MainProcess]文件/usr/local/lib/python2.6/site-packages/celery-2.0.1-py2.6.egg/celery/bin/celeryd.py,行312,在run_worker
[2010-07-22 17:10: 01,367:WARNING / MainProcess] worker.start()
[2010-07-22 17:10:01,367:警告/ MainProcess]文件/usr/local/lib/python2.6/site-packages/celery- 2.0.1-py2.6.egg / celery / worker / __ init__.py,第206行,起始
[2010-07-22 17:10:01,367:WARNING / MainProcess] component.start()
[2010-07-22 17:10:01,367:警告/ MainProcess]文件/usr/local/lib/python2.6/site-packages/celery-2.0.1-py2.6.egg/celery/并发/进程/ __ init__.py,第54行,起始
[2010-07-22 17:10:01,367:WARNING / MainProcess] maxtasksperchild = self.maxtasksperchild)
[2010-07-22 17:10:01,367:WARNING / MainProcess]文件/usr/local/lib/python2.6/site-packages/celery-2.0.1-py2.6.egg/celery/concurrency/processes/pool.py,第448行,__init__
[2010-07-22 17:10:01,368:WARNING / MainProcess] self._setup_queues()
[2010-07-22 17:10:01,368:WARNING / MainProcess]文件/usr/local/lib/python2.6/site-packages/celery-2.0.1-py2.6.egg/celery/concurrency/processes/pool.py,第564行,在_setup_queues
[ 2010-07-22 17:10:01,368:警告/ MainProcess] self._inqueue = SimpleQueue()
[2010-07-22 17:10:01,368:警告/ MainProcess]文件/ usr / local / lib / python2.6/multiprocessing/queues.py,第315行,__init__
[2010-07-22 17:10:01,368:WARNING / MainProcess] self._rlock = Lock()
[2010 -07-22 17:10:01,368:警告/ MainProcess]文件/usr/local/lib/python2.6/multiprocessing/synchronize.py,第117行__init__
[2010-07-22 17 :10:01,369:警告/ MainProcess] SemLock .__ init __(self,SEMAPHORE,1,1)
[2010-07-22 17:10:01,369:警告/ MainProcess]文件/ usr / local / lib / python2.6 / multiprocessing / synchronize.py,第49行,__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:警告/ MainProcess] OSError
[2010-07-22 17:10:01,369:警告/ MainProcess]:
[2010 -07-22 17:10:01,369:警告/ MainProcess] [Errno 38]功能未实现

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

解决方案

ubuntu 10即使在给予shmem的完全权限后,问题仍然在这里...



UP-最后完成,/ dev / shm没有挂载。所以
添加shm到fstab
mount shm
在/ dev / shm上设置完整的777权限


I installed django-celery and I tried to start up the worker server but I get an OSError that a function isn't implemented. I'm running CentOS release 5.4 (Final) on a 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

Am I just totally screwed or is there an easy way to resolve this?

解决方案

same issue on ubuntu 10, even after full rights on shmem are given - problem still here...

UP- finally done, /dev/shm was not mounted. so add shm to fstab mount shm set full 777 permissions on /dev/shm

这篇关于Django Celery实现 - OSError:[Errno 38]功能未实现的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆