我正在尝试创建一个套接字应用程序,该应用程序使用 python 的 smptd 和 asyncore 库侦听端口 25 中的传入电子邮件,该应用程序应该有权访问 Django ORM 以采取必要的操作。
到目前为止,我所做的方法是创建一个直接访问 Django 数据库的 python 脚本,并在主管下运行它,但这不是一个好的解决方案。合适的应该是有一个管理命令或类似任务队列(Celery)的东西。
如果我创建一个 Django 管理命令来运行这个长时间运行的套接字应用程序,我可以将它附加到主管吗?我需要守护它吗?有什么区别,我该如何守护它?我找到了 django.utils.daemonize 但没有找到任何关于它的文档。
用Celery解决会更合适吗?我的应用程序监听一个套接字,而 Celery,据我了解,等待触发,我没有在 celery 中找到任何在启动 celeryd 时自动启动的长时间运行任务的示例。