2016-04-14 9 views
0

セロリの作業者がメッセージをstdoutに印刷しないように完全にどうしたらいいですか?私は、これは起動時に印刷されます次のメッセージを除くすべてのメッセージ停止しますセロリワーカーの起動テキストを無効にする

celery worker --app proj --logfile=/dev/null 

を試してみました:

-------------- <version> 
---- **** ----- 
--- * *** * -- <OS> 
-- * - **** --- 
- ** ---------- [config] 
- ** ---------- .> app:   <app> 
- ** ---------- .> transport: <QUEUE> 
- ** ---------- .> results:  <DB> 
- *** --- * --- .> concurrency: 10 <con> 
-- ******* ---- 
--- ***** ----- [queues] 
-------------- .> celery   <exchange> 

を起動時に印刷されることから、このメッセージを停止する方法はありますか?私は起動スクリプトを使用しています。

+0

こんにちは、なぜあなたはその理由を明らかにすることができますか? –

+0

これは 'upstart/worker.log'にメッセージを表示します。監視目的でログをきれいに保つ必要があります。サービスの起動時に発生するエラーのみを含める必要があります –

答えて

1

私はcelery workerの方がずっと前にcelery multiの方が好きでした。 multiの利点の1つがworkerを超えているということは、取り除こうとしている出力を生成しないということです。典型的な出力は次のようになります。

celery multi v3.1.23 (Cipater) 
> Starting nodes... 
     > [email protected]: OK 

あなたが--quietオプションを使用してたい場合でも、出力のこのビットを取り除くことができます。

私は今すぐcelery workerで静かにしましたが、依然として望ましくない出力を得ました。

0

こんにちは、起動ファイルのログファイルのdev/nullへのリダイレクトが、セロリのworker.pyソースのthis lineで説明されています。 起動メッセージは、stdoutへの印刷であることがわかります。

あなたの独自のバージョンのworker.pyを作成するのが一つの方法ですが、ログファイルから少数の行を削除するだけで苦労します。

私はあなたの問題を解決する他の方法を考えることはできません。

関連する問題