django - Django REST 框架中的异步长时间运行函数
问题描述
使用 Django REST Framework (DRF) 一个 API,我正在实现一个可能需要一段时间的功能。呼叫者不必知道结果(“即发即弃”),因此他们可以立即做出响应。Django 现在有异步视图,这将通过异步调用长时间运行的函数来解决问题。但是 DRF 目前没有异步支持。我看到的其他建议是使用 Celery,但这是代码和基础架构的一大步。
在单独的进程中生成长时间运行的函数的最简单方法是什么?我必须说这个长期运行的进程确实需要访问 ORM。
我正在扩展ModelViewSet
:
class myViewSet(viewsets.ModelViewSet):
def update(self, request, *args, **kwargs):
# This should be async ('fire and forget')
long_running_function()
解决方案
推荐阅读
- c# - C# 如何使用 .Net Framework 关闭打开的文件?
- javascript - 是否可以在没有任何交互的情况下拍照?(Android Studio、CameraX)
- node.js - 使用 Node-RED 在 Firebase 中添加自定义节点
- oracle - 通过立即执行无管道创建 Oracle 序列 || 操作员
- python - PYTHON (tkinter) 在条目中创建增量值
- awk - 打印两个图案之间的线条以及标题
- xml - XSLT:如何从指定元素中删除除某些属性之外的所有属性
- python - 从 Pandas 数据框中计算人口
- apache-spark - 使用 PySpark 和 XGboost 获取特征重要性
- php - Clevertap 中的端点无效