2012-04-08 11 views
6

マイセロリログが一貫し(あまり)長いエラーメッセージを切り捨てログメッセージを切り捨て、次のように:回答セロリは

[2012-04-08 04:53:10,084: INFO/MainProcess] Task mainapp.tasks.async_submitter[2df2fe93-156b-4944-9ecf-c55ba53e8aaa] succeeded in 0.190640926361s: 'An error occurred during the submission of... 

言うまでもなく、これは、ログの半分の目的を削除します。これをどうやって止めることができますか?

私はLinux上でdjango-celery(監督のDjangoスーパーバイザー経由)でセロリを実行しています。

+1

は、私には見えます/ job.py:repr_result()'](https://github.com/celery/celery/blob/master/celery/worker/job.py#L508)。これは 'maxlen'引数をとるでしょうが、このメソッドが呼び出される場所では(https://github.com/celery/celery/blob/master/celery/worker/job.py#L394)、' maxlen'引数は決して使用されません - 残念なことに私はこれを設定する方法はないと思います:-( –

+0

@ LukasGrafありがとうございます。 – Marcin

答えて

0

コードでの処理のためにタスクを使用する必要があります。このため、開発者はログを切り捨てる自由を取ったことがあります。また、戻り値は非常に大きな結果になる可能性があり、情報出力。 もちろん、私は間違っているかもしれませんが、セロリーと一緒に仕事をしているので、私はいつもこの論理が正しいと判断し、私を邪魔しませんでした。 あなたのケースでは、logger.info(切り捨てられない)を使って返信の直前にメッセージを記録することが理にかなっていると思います。返信しているメッセージが実際にはさらなる処理には必要ないのですが、任意の値を返します。

1

残念ながら、Celeryはデフォルトではメッセージを切り捨てます。モジュールのグローバルにパッチを当てることでこの制限を微調整することも可能であるように思わ3.1.9にバージョン3.1.7から

:切り捨てが[ `労働者に起こるよう

import celery.worker.job 

celery.worker.job.RESULT_MAXLEN = 1048576 # 1 Mib 
関連する問題