我有一个用户上传文件的应用程序,然后我会处理这些文件的处理。这个过程可能需要几分钟,所以我想定期向用户发送有关正在发生的事情的更新。
现在我正在考虑将Ajax轮询实现到呈现json的视图。问题是我目前没有这种视图的机制来获取状态数据。对于像状态更新这样的东西,将它放入模型以供访问视图似乎很奇怪,但这是最佳路线吗?我最好选择不同的路线,例如将状态数据存储在用户会话中吗?
答案 0 :(得分:1)
我没有看到您的后台处理更新的Job
模型的问题,以及您的JavaScript轮询的视图。它在未来的分析中可能也很有用 - 例如,您可以跟踪特定大小的文件的平均处理时间。
大概是这样的:
class Job(models.Model):
user = models.ForeignKey('User', related_name='jobs')
status = models.CharField(max_length=255)
created_on = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
然后,在文件上传时,创建一个新的Job
,并将其传递给您的前端,以便它可以轮询您创建的作业状态视图。