如何解决在Django框架上运行一个不确定进程的好方法
我正在使用Django框架构建Web应用程序。用户互动很少,只有一些静态链接,导航栏和一些来自我的应用程序本身的图表。该应用程序的主要部分来自python脚本,该脚本从外部源读取数据,对其进行一些数据处理,然后写入我的django数据库。然后,在写入数据库后,将创建一个新页面,其中包含有关数据库条目的信息。请注意,没有用户交互,因此没有启动或停止任务。我希望任务在24/7后台运行。
到目前为止,我已经研究了芹菜和django-background-tasks。对于我的用例而言,Celery似乎有点过多。我认为我不需要经纪人服务,因为我只想运行用户永远不会与之交互的1个任务。另外,我不需要多名工人。 Django-background-tasks似乎是一个不错的轻量级替代方案,但它似乎不支持不确定的任务,而不必每隔一段时间刷新一次任务(理想情况下,我不需要这样做)。有没有更适合此用例的工具?还是我只是完全误解了芹菜和django-background-tasks。
更新 谢谢大家的评论!因此,我查找了@D Malan提到的内容,我认为像Supervisord这样的工具可能适合我的用例。也就是说,我可以在后台与django应用程序分开运行python脚本,然后让python脚本与django应用程序进行交互。我现在唯一的问题是让该流程与django应用进行交互。 @deceze提到了从python脚本调用管理命令。因此,这涉及通过调用自定义django管理命令的python脚本创建一个子进程来更新我的数据库?或者我可以使用django.core.management.call_command,但可以使用与django应用程序分开的python文件。如果是这种情况,它将如何知道从何处获取命令?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。