django - 从前端使用 AJAX 查询 Celery 以了解创建的任务是否完成的最佳方法?

标签 django state celery celery-task

我正在使用 Django 和 Celery + RabbitMQ 创建用户上传视频的视频转换任务。 Now I know how to query celery to get the status. 我的问题是在哪里保存与每个任务关联的 task_id,我应该将它保存在模型中还是在 django 的缓存中?

我知道过去曾问过类似的问题,例如this stackoverflow question 但还没有明确的答案。我知道这个问题的答案因开发人员的偏好而异,但如果有人可以就不同方法的优缺点进行教育,那就太好了。

再次重申,我将使用 task_id 每隔一段时间从前端触发 AJAX 查询,以了解视频转换是否完成。

最佳答案

请参阅我对您链接问题的回答:Test if a celery task is still being processed

因此,在设置 celery_task 字段后,您可以轻松定义一个 ajax View ,该 View 将以所需格式返回任务状态。

关于django - 从前端使用 AJAX 查询 Celery 以了解创建的任务是否完成的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4846423/

相关文章:

html - 如何使用 HTML 和 CSS 使菜单在单击时向右滑动?

python - “MyAppConfig”必须提供名称属性

python - Celeryd 启动太多进程

javascript - 从装饰器设置 View 的名称 - Angular Ui Router

django - celery 击败服务旧(删除)任务

django - Python Celery group() - TypeError : [. ..] ** 之后的参数必须是一个映射,不长

python - 如何加速 Django 管理页面?

python - 将 'dict' 对象从 Django 模板传递到 Angular Controller - 避免 jsonify 和解析

c - 函数 'saving progress' 的问题

reactjs - 状态在组件中用作 Prop ,状态更改不会重新渲染组件