6

RabbitMQ と Django で実行されている Celery を使用しようとしています。これまでのところ、python 2.7 、Django 1.3、セロリ 2.4.6、および django-celery 2.4.2 とともに、RabbitMQ 2.7 がサーバーにインストールされています。

ここの簡単な指示に従いましたhttp://django-celery.readthedocs.org/en/latest/introduction.html

そして、実行してセロリを起動しようとしました

$ python manage.py celeryd

しかし、それは私にこのエラーを与えました

Unrecoverable error: ImportError('This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.

私はいくつかの調査を行い、ここでバグを見つけましたhttp://bugs.python.org/issue3770、おそらく修正されましたが、python 2.7ではないと思います。

また、私のOSはCentOSリリース4.9(Final)です。そして、ソースからpythonをビルドしました。

私はpythonシェルを起動して実行しました:

import multiprocessing

エラーはありませんでしたが、実行しました:

from multiprocessing import synchronize

エラーが発生しました(上記)。

どんな助けでも大歓迎です。

4

1 に答える 1

11

OpenVZ で実行されている CentOS 6 でも同じ問題に遭遇しました。/dev/shm欠品していたので取り付けました。に次を追加します/etc/fstab

tmpfs   /dev/shm    tmpfs   defaults        0   0

そして、実行sudo mount /dev/shmして動作するかどうかを確認します。私は独自のカスタム ビルド Python 2.7.3 を持っていました。このデバイスは、ビルド時にも存在する必要があります。そうしないと、Python はsem_openサポート付きでビルドされません。実行時に次の出力を確認します./configure

checking for sem_open... yes
于 2012-05-31T09:12:15.230 に答える