Celery+django如何显示任务的执行进度条

Celery单词中文的意思是“芹菜”,也不知道为什么人家喜欢给起个菜名,实际从功能上跟芹菜一点也扯不上关系,非得往上靠难道国外吃芹菜是在后面吃?大家都知道,如果我们在后端执行一个时间比较长的任务,比如超过10分钟任务都没执行完,这个时候如果让用户在前端页面等待,那是非常恐怖的事情,比如用户点了个执行数据库备份的功能脚本,后台马上执行不完,前端用户就会一直等待,直到备份任务全部完成,天知道什么时候能完成,如果这个时候下班了,你走不走? 所以对一些比较耗时的任务,让用户在前端等待这个不可取,那怎么解决这些问题呢,这个呢,就用到我们刚才说的芹菜的功能了,celery是Python开发的分布式任务调度[……]

继续阅读

记一次生产环境问题排查(k8s环境)

本文为原创文章,转载请注明出处,否则追究责任。

最近线上生产环境出现一些问题,经过排查后进行了解决,记录下来便于总结。

 

问题1:

最近研发新上一个微服务,上线后启动了6个Pod,运行一段时间后一直很稳定,但有一天用户访问有问题,在手机端打开直接提示“网络错误”。

分析解决:

对于这个报错,研发那边的反馈是运维环境有问题,网络不稳定造成的,但我们实际的生产环境是在K8s上,每个node都在一个网络内,而且都是内网通讯,如果是网络原因,那应该也会影响其他项目的pod,但从现象看,别的同Node节点的服务运行稳定,查了日志,也没有任何报错,后来经过排[……]

继续阅读

2020年下载量最高的102个Django软件包

2020年即将结束,是时候分析2020年最需要的Django软件包了。
在Google Cloud上有相当详细的PyPI软件包存储库下载统计信息。 让我们探索一个简单查询的结果,该查询收集名称为django的任何软件包的下载总数。

下载次数超过了最活跃项目中使用的某些软件包,并且没有提供项目用户的真实数目。 但是我认为整个数据集可以很好地概述2020年的使用情况。如果您知道列表中没有好的图书馆,请在评论中注明。 我很乐意用它来更新文章!

0. Django
2020年,Django本身被下载了6550万次! 如果将[……]

继续阅读

更快的Django应用-优化模板,第1部分

缓慢的网站令人沮丧,而Google也不喜欢它们。 Google将于2021年5月发布一组称为Core Web Vitals的新排名指标。
Google的核心网络要素是什么?核心网络要素是一组用于确定网页加载速度的指标。这三个指标是:
内容最丰富的画图:加载网页主要内容所需的时间-理想情况下应在2.5秒以下。
首次输入延迟:页面与用户进行交互需要多长时间。这应该少于100毫秒。
累积版式移位:页面内容中意外版式移位所花费的时间;应该小于0.1毫秒。
在本教程中,您将学习如何优化Django模板以提高页面加载速度,以使网站为新的Google更新做好准备。另外,它也会使您的访客高兴!让我们[……]

继续阅读

面试完没有消息是什么情况?

本文为原创文章,转载请注明出处,否则追究责任。

去过面试的人都有过这种经历,当面试完一个公司后,有时聊的也还不错,但后来突然就没有消息了,这是什么情况呢?有的比较好奇会去在问问,但一般得到的都不一定是真实的答案,我自己根据我自己当多年技术面试官的经历,外加经常跟HR小姐姐聊天获得的情况,我总结下来一般分为下面几种情况:

一、实在是技术不行。这个不必多说,一般的技术岗位面试,可能会至少一轮的技术面,也有可能是好几轮技术面试,从多个技术维度审查面试者的技术深度和广度,如果技术面有好几轮一般都是重要切核心的岗位,相对比较高端了,一般的初级运维工程师岗位,可能一般只有一轮技术面试,我想说的[……]

继续阅读

用ldap作为django后端用户登录验证

每个公司在运维平台化过程中,如果以开始没有规划,免不了全面开花,会做成好多个平台,然后每个平台都有自己的认证体系,等平台多了,记录这些账号就变得非常烦人,如果用不同的密码,对人的记忆力是个挑战,所以基于此,大部分公司会有部署Ldap系统,来统一运维系统的账号管理,像我们常用的jenkins也可以做对接到ldap上,这样所有的系统就可以统一用ldap来认证,然后根据不同的人来设置不同的权限,那django怎么使用ldap来做后端验证呢,操作接入非常简单,整个过程可以几乎不改我们之前的代码任何逻辑。

我们先进行第一步,安装依赖,ldap和django-auth-ldap,django-aut[……]

继续阅读

更快更好地构建镜像-docker多阶段构建

现在已经毫无疑问,Docker使一个应用和多个应用部署变得非常容易。无论是同一工具的不同版本,具有不同版本依赖性的不同应用程序-Docker都涵盖了。但是,这种灵活性会带来一些问题-例如高磁盘使用率和大的映像。使用Docker时,必须谨慎有效地编写Dockerfile,以减小映像大小并缩短构建时间。

Docker提供了一组遵循的标准实践,以使镜像尺寸较小-这就用到了我们介绍的多阶段构建功能。

对于构建二进制文件或可执行文件的用例,多阶段构建特别有用。通常,构建二进制文件需要很多依赖项,例如,GCC,Maven,构建必需项等,但是一旦有了可执行文件,就不需要那些依赖项来运行可执行文件[……]

继续阅读

使用Prometheus进行Kubernetes监视-Prometheus操作员教程(第3部分)

在本指南的前几章中,我们介绍了如何安装完整的使用Prometheus监控Kubernetes。 我们最后结束下使用Prometheus Operator框架及其“自定义资源定义”相对于手动添加度量标准目标的优势

这次我们将部署类似的环境,但将更加自动化和灵活。

什么是Kubernetes Operator?
Operator是Kubernetes专用的应用程序(pod),可自动配置,管理和优化其他Kubernetes部署。它们被实现为自定义控制器。

Kubernetes Operator封装了部署和扩展应用程序的专有技术,并直接执行与API通信的算法决策。

Kuber[……]

继续阅读

使用Prometheus进行Kubernetes监视:AlertManager,Grafana,PushGateway(第2部分)

要部署真正的Kubernetes和微服务监控解决方案,需要许多其他支持组件,包括规则和警报(AlertManager),图形可视化层(Grafana),长期指标存储以及与该软件不兼容的其他指标适配器 盒子外面。

在第二部分中,我们将简要介绍所有这些支持组件,前提是已经了解了上一章介绍的部署Prometheus监视服务器的基础知识。

Prometheus监控技术栈–体系结构概述
让我们从部署架构概述开始,将我们将在接下来的部分中讨论的所有组件放入其中。

1、在第1部分中介绍的Prometheus服务器是此部署的核心。 Prometheus服务器将警报推送到AlertM[……]

继续阅读

使用Prometheus进行Kubernetes监控-最终指南(第1部分)

Prometheus监控正在迅速成为使用的Docker和Kubernetes监控工具之一。 本指南说明了如何使用Prometheus实施Kubernetes监视。 将介绍如何部署Prometheus服务器,指标导出器,设置kube-state指标,提取,抓取和收集指标,使用Alertmanager配置警报以及使用Grafana配置仪表板。 我们将介绍如何手动执行此操作,以及如何利用Prometheus operators自动部署/安装方法。

为什么使用Prometheus进行Kubernetes监控
因为两项技术的转变,因此我们需要一个新的监视框架:

DevOps文化:在DevO[……]

继续阅读