首页 > 解决方案 > 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()

标签: djangodjango-rest-framework

解决方案


推荐阅读