首页 > 解决方案 > 如何用 Django 项目构建和连接 python 项目(不是 Web 应用程序)?

问题描述

我有一个内置在 python 中的处理引擎和一个包含几个组件的驱动程序,这些组件使用这个引擎来处理一些文件。

请参见此处的图示。

引擎用于数学计算。

Driver 程序有几个组件。

  1. 扫描程序会持续扫描文件夹以检查新文件,如果找到则通过调用 API 进入数据库。
  2. 调度程序选择扫描仪创建的新条目并安排它们进行处理(进入数据库中的“作业”表)
  3. Executer 从作业表中选择条目并使用引擎执行它们并输出新文件。

所有组件都作为单独的 python 进程连续运行。这非常有效,我该如何改进?Django 的用途是提供一个数据库(以便多个进程可以通信)并记录处理了多少文件。

接下来是手动检查已处理文件是否有错误的新要求,因此为此开发了一个 UI。此外,对引擎的评估也将基于 API。在此处查看新的框图

现在,在我看来,整个事情都是一团糟。首先,Django 现在必须为 2 组不同的 API 提供服务——一组用于 UI,另一组用于驱动程序。如果服务器停止,UI 停止工作,驱动程序也停止工作。由于引擎是基于 API 的,因此请求中有大量数据传递给它。引擎需要几分钟(3 到 4 分钟)来处理文件,并且大多数情况下对引擎的请求都会超时。Driver 程序与终端分开启动,如果 Django 服务器未运行,则它会失败,因为需要 DB API 来安排作业和执行作业。

我想问构建此类项目的最佳方式是什么。

我真的很感激任何领域的任何改进想法。

标签: pythondjangojobsjob-schedulingpython-architect

解决方案


推荐阅读