3

スケジュールタスクのためにセロリを実行するために、init.dスクリプトをインストールしようとしています。で起動しようとするとsudo /etc/init.d/celeryd start、エラーがスローされます"User does not exist: 'celery'"

私のセロリ設定ファイル ( /etc/default/celeryd) には以下が含まれます:

# Workers should run as an unprivileged user.
CELERYD_USER="celery"
CELERYD_GROUP="celery"

これらが間違っていることを知っているため、エラーがスローされます。

ドキュメントには次のように書かれています:

CELERYD_USER
User to run celeryd as. Default is current user.

それ以上のことはありません。どんな助けでも大歓迎です。

4

1 に答える 1

5

はっきりと見えるようにするために、適切な回答を追加しています。

ワーカーは、さまざまなセロリ タスクを実行する UNIX プロセスです。ドキュメントでわかるように、CELERYD_USER と CELERYD_GROUP は、これらのワーカーが Unix 環境で実行されるユーザーとグループの名前を決定します。

したがって、あなたのケースで最初に起こったことは、セロリがシステムに存在しない「セロリ」という名前のユーザーでワーカーを起動しようとしたことです。これら 2 つのオプションをコメントアウトすると、セロリはコマンドsudo /etc/init.d/celeryd startを発行したユーザー (この場合は root (管理者) ユーザー) (デフォルトは現在のユーザー) でワーカーを開始しました。

ただし、明らかな理由から、root としてではなく、非特権ユーザーとしてワーカーを実行することをお勧めします。したがって、ここにある小さなチュートリアルを使用してセロリのユーザーとグループを実際に追加することをお勧めしますhttp://www.cyberciti.biz/faq/unix-create-user-account/再度コメントを外します

CELERYD_USER="セロリ"
CELERYD_GROUP="セロリ"

オプション。

于 2013-08-21T09:45:19.003 に答える