Python の smptd および asyncore ライブラリを使用して、ポート 25 で受信メールをリッスンするソケット アプリケーションを作成しようとしています。アプリは、必要なアクションを実行するために Django ORM にアクセスできる必要があります。
私がこれまでに行った方法は、Django データベースに直接アクセスし、スーパーバイザーの下で実行する Python スクリプトを作成することでしたが、それは良い解決策ではありませんでした。適切なものは、管理コマンドまたはタスク キュー (Celery) のようなものを持つことです。
この実行時間の長いソケット アプリケーションを実行する Django 管理コマンドを作成した場合、それをスーパーバイザにアタッチするだけでよいでしょうか? デーモン化する必要がありますか?違いは何ですか?どうすればデーモン化できますか? django.utils.daemonize を見つけましたが、それに関するドキュメントは見つかりませんでした。
セロリで解決する方が適切でしょうか? 私のアプリケーションはソケットをリッスンしますが、セロリは私の理解ではトリガーを待っていますが、セロリの起動時に自動的に開始される長時間実行タスクのサンプルは見つかりませんでした。