Django是否仍然需要Celery

问题描述

我正在使用Django 3.1创建一个Web应用程序,并且很多DB interaction大多位于三个表之间。查询主要使用最近输入的结果。因此query1将运行并更新table1query2将使用table1来更新2 table2,而query3将使用已更新的column query2来更新columns中的其他table2。所有这些都在用户每次输入或更新信息时运行。 也许视觉效果会更清晰。

query1 = Model1.objects.filter(...).annotate(...)
query2 = Model2.objects.filter(...).update(A=query1)
query3 = Model2.objects.filter(...).update(B=A*C)

我开始担心pythonPostgresql间的速度,当多个用户同时开始使用它时,可能会丢失数据。我读到有关celeryDjango Asynchronous support的信息,但尚不清楚我是否需​​要芹菜。 这是一个非常简化的版本,但您可以理解要点。有人可以帮我吗?

解决方法

如果您的Django视图具有长期运行的任务,并且您不希望用户等待完成或应用程序服务器超时,则可以考虑使用Celery。如果数据库更新很快,那么您可能不需要它。 PostgreSQL是一个多用户数据库,因此您不必担心用户掩盖其他用户的更改。