Django API超越了简单的数据处理

时间:2018-11-07 22:10:17

标签: django api django-rest-framework

我有一个django应用程序,可通过管理部门部署模型逻辑和数据处理。

在同一项目中,我还拥有一个python文件(scriptcl.py),该文件利用模型数据执行繁重的计算,这些计算需要一些时间(例如5秒钟)来处理。

我已经将项目迁移到云中,现在我需要一个API来调用传递参数的文件(scriptcl.py),对数据库的参数和数据进行相应处理(由管理员维护),然后响应背部。

到目前为止,我所看到的django DRF的所有示例仅包含身份验证和数据处理(创建,读取,更新,删除)。

有人可以提出一个解决方案吗?

3 个答案:

答案 0 :(得分:2)

我认为正确的方法是使用Celery异步执行此计算。

答案 1 :(得分:1)

编写一个从DRF APIView继承的类,该类处理身份验证,编写所需的逻辑或调用任何函数,获取最终结果并发回JsonReposen。但是正如您提到的,Api是否需要更多时间进行响应。然后,您可能不得不考虑其他事情。就像回馈request_id并每5秒用request_id击中该服务器以获取数据或类似的东西。

答案 2 :(得分:0)

仅对此反馈,我采取的方法是使用flask和常规python脚本构建另一个API。

我还使用sqlalchemy访问数据库并检索必要的数据。