是否可以显示 django celery 任务的进度条? [复制]
Posted
技术标签:
【中文标题】是否可以显示 django celery 任务的进度条? [复制]【英文标题】:Is it possible to show progress bar of django celery task? [duplicate] 【发布时间】:2013-02-12 17:22:24 【问题描述】:我在 django celery 中使用数据库后端。任务信息存储在数据库中名为:celery_taskmeta
的表中。
这是我的任务:
@celery.task
def file_transfer(password, source12, destination):
result = subprocess.Popen(['sshpass', '-p', password, 'rsync', '-az', source12, destination],
stderr=subprocess.PIPE, stdout=subprocess.PIPE).communicate()[0]
return result
我这样调用任务:
file_transfer.s(password, source12, destination)
现在我想向用户显示他们在 Django 模板中的任务进度和剩余时间。我怎样才能做到这一点?
【问题讨论】:
不,不是主题可能相同,但该问题的答案不是很清楚。 你为什么总是将我的问题标记为否定?你对我有什么怨恨吗? 【参考方案1】:也许我对Django-Celery progress bar 的回答会有所帮助(还将代码发布到DjangoSnippets,这就是我为那几行http://djangosnippets.org/snippets/2898/ 感到自豪)
【讨论】:
你是作者吗?我该如何实施? 是的,我是。我使用 AJAX 通过轮询(0.5 秒间隔)poll_state 视图,然后使用它为内部 div 的“宽度”CSS 属性提供的百分比(如 。抱歉花了这么长时间顺便说一句,我之前没有看到你的问题:( 谢谢sn-p,前端代码也可以分享一下吗? Demonedge:恐怕我已经没有了。 IIRC,我只是在一个 div 中有一个 div,它的width
设置为每秒左右从后端检索的百分比值。以上是关于是否可以显示 django celery 任务的进度条? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 django 中将 api 放入 celery 任务中?
Django中使用Celery,定制应用程序中定义的shared_task未在定期任务管理页面的注册任务中显示
重试丢失或失败的任务(Celery、Django 和 RabbitMQ)