タスクが失敗したときに電子メールアラートを送信するようにセロリを構成するにはどうすればよいですか?
たとえば、3 つ以上のタスクが失敗したとき、または 10 個以上のタスクが再試行されたときに、Celery に通知してもらいたいとします。
セロリやユーティリティ(花など)を使用することは可能ですか、それとも独自のプラグインを作成する必要がありますか?
はい、必要なのは設定CELERY_SEND_TASK_ERROR_EMAILS = True
だけです。Celery プロセスが失敗した場合、django は設定でADMINS
設定されたすべての電子メールにトレースバック付きのメッセージを送信します。
私の知る限り、そのままでは不可能です。
セロリやフラワーの上にカスタム クライアントを記述したり、RabbitMQ に直接アクセスしたりできます。
私がすること (そして私が行っていること) は、単に失敗したタスクをログに記録し、 Graylog2のようなものを使用してログ ファイルを監視することです。これは、Celery だけでなく、すべてのインフラストラクチャで機能します。
プロセスを直接監視し、他の多くの機能を提供するNewRelicのようなものを使用することもできます。ただし、NewRelic では、例外に関する電子メール レポートは多少制限されています。
単純なクライアント/モニターは、おそらく最も迅速なソリューションです。