python多个进度条_多个芹菜进度条
问题
我有一个Django站点,使用celeri+RabbitMQ作为长时间运行任务的任务队列。我把结果存储在Redis中。我已经能够使用Celery的update_state在引导进度条中显示一个任务的进度,并通过一个按钮向Redis DB发送ajax post来检索当前状态。在
理想情况下,我想显示每个任务当前正在运行或最近完成,是在Redis与它自己的进度条。目前,我只能显示由我的小Click Here按钮启动的当前任务的进度。在
我试着为进度条制作多个类,但老实说,我不知道该怎么做,似乎找不到任何关于如何做这样的事情的东西。我试着上传尽可能多的代码。任何帮助将不胜感激!在
代码
在网址.pyurlpatterns = [
url(r'^poll_state$', poll_state, name="poll_state"),
url(r'^do_task$', do_task, name="do_task"),
]
在视图.py
^{pr2}$
在任务.pyfrom __future__ import absolute_import, unicode_literals
from celery import shared_task
from celery.decorators import task
from celery import current_task
from celery.result import AsyncResult
import celery
from .celery import app
import time
#Task loops every half second to update the current state
@task(bind=True, ignore_result=True)
def add(self):
for i in range(101):
time.sleep(0.5)
self.update_state(state="PROGRESS", meta={'current': i, 'total': 100})
在芹菜from __future__ import absolute_import, unicode_literals
import os
from celery import Celery
from django.conf import settings
# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'yodaclaw.settings')
app = Celery('myAppName')
# Using a string here means the worker doesn't have to serialize
# the configuration object to child processes.
# - namespace='CELERY' means all celery-related configuration keys
# should have a `CELERY_` prefix.
app.config_from_object('django.conf:settings', namespace='CELERY')
# Load task modules from all registered Django app configs.
# This allows you in shell to not have to import yodaclaw.tasks
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
@app.task
def debug_task(self):
print('Request: {0!r}'.format(self.request))
在设置.py# Celery Settings
CELERY_BROKER_URL = 'amqp://localhost'
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_TRACK_STARTED = True
在基准.py{% load static %}
{% block title_outer %}
{% endblock %}
{% block meta %}
{% endblock %}
{% block stylesheets %}
{% endblock %}
{% block javascript %}
{% endblock %}
{% block extra_head %}
{% endblock %}
{% block body %}
{% block nav_header %}
{% endblock %}
{% block nav_sidebar %}
{% endblock %}
{% block content_wrapper %}
{% block content_header %}
{% endblock %}
{% block content_outer %}
{% block messages %}
{% endblock %}
{% block content_block_wrap %}
{% block content %}{% endblock %}
{% endblock %}
{% endblock %}
{% endblock content_wrapper %}
{% block nav_footer %}
{% endblock %}
{% if task_id %}
Task ID: {{ task_id }}
aria-valuenow="0" aria-valuemin="0" aria-valuemax="100">
{% if task_id %} {{ task_id }} {% endif %}
{% endif %}
Click here!
{% if task_id %}
jQuery(document).ready(function() {
var PollState = function(task_id) {
jQuery.ajax({
url: "poll_state",
type: "POST",
data: "task_id=" + task_id,
}).done(function(task) {
if (task.current) {
jQuery('.progress-bar').css({'width': task.current + '%'});
jQuery('.progress-bar').html(task.current + '%');
}
else {
jQuery('.status').html(task);
};
PollState(task_id);
});
}
PollState('{{ task_id }}');
})
{% endif %}
jQuery('#do-task').click( function() {
jQuery.ajax({
url: "do_task",
data: {},
success: function(){
jQuery.ajax({
url: "",
context: document.body,
success: function(s, x) {
jQuery(this).html(s);
}
});
}
})
});
{% endblock body %}
{% block extra_foot %}{% endblock %}
python多个进度条_多个芹菜进度条相关推荐
- mysql导入数据显示进度条_导入数据思路+进度条
/// ///基础数据导入/// private voidLoadBasicData() {this.NowCount = 0;this.AllCount = 0;this.hasResult = f ...
- 30岁人生进度条_你的人生进度条,只剩下最后的1%
像这样整天沉迷于,追剧,打游戏,离不开手机的年轻人,在大街上,比比皆是,成群可见. 有时,看到这样一些场景,你会不禁质问: 难道,埋头守着手机玩,就真的成为了青春该有的样子吗? 难道,把大把大把,无比 ...
- unity3d做会减少的血条_用Unity做血条或进度条常用脚本 - 纳金网
本节汇宝盆为大家带来的是:用Unity做血条或进度条常用脚本 * 血条或进度条的效果 用Unity3d做血条或进度条真的很方便,GUI里scrollbar就可以轻松实现,再加上lerp一个血条或进度条 ...
- python根据坐标点画线_拖动鼠标绘制一条线,并在opencv中获得线端点的坐标Python...
只需使用其他事件. 这里是一个快速肮脏的解决方案: import numpy as np import cv2 btn_down = False def get_points(im): # Set u ...
- progressdialog进度框_使用ProgressDialog创建进度对话框
ProgressDialog代表了进度对话框,程序只要创建ProgressDialog实例,并将它显示出来就是一个进度对画框.使用ProgressDialog创建进度对话框有如下两种方式. ①如果只是 ...
- mysql只能导出65535条_导出Excel超过65535条限制解决方案
使用poi导出excel的时候如果数据过多,超过65535条会报错,因为excel2003一个sheet表最多导出65535条,excel2007是10万4000多条限制. 因此遇到这种excel导出 ...
- 1.4_7 Axure RP 9 for mac 高保真原型图 - 案例6 【旋转的唱片4】进度条_拖拽、点击
相关链接 目录 Axure中文学习网 AxureShop AxureShop-QA 案例目标 1. 熟悉 动态面板 的 拖拽.点击动作的使用场景 2. 掌握 动态面板 中配置 拖拽 功能实现原理( ...
- python3 进度条_详细介绍Python进度条tqdm的使用
前言 有时候在使用Python处理比较耗时操作的时候,为了便于观察处理进度,这时候就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情况.这对于第三方库非常丰富的Python来说,想要实现 ...
- delphi 多个线程 多个进度条_多线程有哪些优点?- Python每日3题(多线程专题)
这里是Python7编程挑战-多线程专题! 每天学习3个问题,包括初级,中级,高级问题各1个. 今天是第2天!一起来呀,就7天! 每日3题是麦叔的面试系列专题之一,每天包括初级,中级,高级难度题目各一 ...
最新文章
- big endian little endian
- Nginx+Apache Yii2.0 配置方案
- mysql学习二:sql语句分类
- Windows 2000、XP、XP+进程名描述
- oracle里面有emp表么,Oracle自带表(EMP)SQL语句练习
- python凯撒密码加密写入文件_Python用户名密码登录系统(MD5加密并存入文件,三次输入错误将被锁定)及对字符串进行凯撒密码加解密操作...
- Scala---For语句段
- 数据结构实验之查找七:线性之哈希表
- QML的import目录爬坑记录
- 2017.5.12 校门外的区间 思考记录
- (7)Linux进程调度-O(1)调度算法
- CF#213DIV2:B The Fibonacci Segment
- 带隙基准电压源的版图设计
- 适合我的前端学习路线(学习前端不迷路)
- 《假如给我三天光明》读后感及其摘录(2)
- Java表的设计合同_java毕业设计_springboot框架的基于合同管理系统
- 验证银行卡卡号是否符合规则
- 计算机网络笔试面试题目大全
- Springboot毕设项目宠物服务平台rx4i0java+VUE+Mybatis+Maven+Mysql+sprnig)
- 王慧文复出进军人工智能,王兴投资BlockCity区块城市搞元宇宙