2013-02-27 116 views
3

我在django芹菜中使用数据库后端。任务信息存储在数据库中名为celery_taskmeta的表中。 这是我的任务:是否可以显示django芹菜任务的进度条?

@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模板的进度。我怎样才能做到这一点?

+0

不,它不是话题可能是相同的,但答案不是很在那个问题上清楚。 – pynovice 2013-02-27 02:39:47

+0

为什么你总是把我的问题标记为否定的?你对我有些怨恨吗? – pynovice 2013-02-27 09:14:06

回答

7

也许我的回答Django-Celery progress bar是帮助(还贴出代码DjangoSnippets,这就是我说的几行http://djangosnippets.org/snippets/2898/多么自豪)

+0

你是作家吗?我怎样才能实现这个? – pynovice 2013-02-28 11:03:42

+0

是的,我。我使用AJAX通过轮询(0.5s间隔)poll_state视图,然后使用它为内部div的'width'CSS属性提供的百分比(如在

中为实现长时间运行的作业实施了一个进度条。这么长时间BTW,我没有看到你的问题前:( – 2013-04-04 14:24:28

+0

感谢您的片段,是否有可能为您分享前端代码? – Demonedge 2016-05-10 03:39:25