我将 Django 和 Django Rest Framework 用于内部API,并将 Vue.js 用于前端。后端(API)和前端完全分开。
我需要运行一个后台任务(每次创建用户时),并且我正在考虑2种解决方案:
请注意,此函数将调用第三方API。通话可能由于各种原因而失败,并且/或者可能会在大约20秒的长时间内运行。
使用Redis或RabbitMQ或django-background-tasks。
我应该寻求哪种解决方案? 如果两种解决方案都可以接受,那么每种解决方案的局限性/优势是什么?
答案 0 :(得分:0)
您可能需要django芹菜。这对于Django的后台任务来说是一个很好的软件包,您可以选择Redis或RabbitMQ作为代理,在我看来这些代理并不重要。
为什么这可以很好地解决您的问题?
from celery import shared_task
@shared_task
def add(x,y):
return X+y
并在代码中的任意位置调用它
add.delay()
你知道背景任务如何。