`
文章列表
        这个功能类似于chrome浏览器的网络诊断工具,不同点在于web,手机端化了。功能也没那么强悍。         需求:                解决用户打开app打开慢的疑问         环境:               kotlin               react               npm打静态资源包               gradle打动态资源包                 编译及启动:                          成品:                  后期改进:     ...
       使用多线程注意点避免产生脏数据。如下三种方式避免产生脏数据。        第一种互斥锁           l = threading.Lock()           l.lock()           a = 10          l.release()           第二种使用本地变量       ...
        1.1. 背景 系统的有些业务时需要定时发消息通知。但是这些消息又不是有规律可循的。比如,商品的优惠是限时的。在之前的实现是有一个排查任务每5分钟都去去商品表中查询哪些有做活动的商品,并比较是否过了限时折扣的时间。但是类似的排程多了,就会出现在某个时候数据库的资源使用率特别高。 1.2. 解决思路 1、将参与限时活动的商品保存在另外一张表。 2、使用消息队列机制,选择限时商品的时候将商品信息和限时的时间传入消息队列。
       看图说话.....................................................................................................................................................                                       
         产生worker timeout 的背景         while 1:               .....               time.sleep(1)        gunicorn运行起来,只等待了30s,就卡住了,没报任何异常或err,查了gunicorn 官方文档,原来是线程默认等待30s 就kill 掉,再restart        http://docs.gunicorn.org/en/stable/settings.html         timeout -t INT, --timeout INT 30 Worke ...
          需求背景:                海外购物即视感            技术echarts+ajax+django                 echarts显示地图                 ajax异步加载数据                 django计算数据的后台,提供api,token验证          初步效果:                        以上数据都是ajax从django后台计算好后,加载过来。               技术点分析:             (1)echarts基本语法 ...
             django的官网         celery的官网         rabbitmq官网            虽都有官网介绍使用方法,但在实际操作中,总会遇到坑,浪费不少时间去绕过坑。               坑1.官网没有说明rabbitmq对erlang的版本有要求,只说是fix了这个bug。             坑2.是内部原因,原来出于安全,封了不同网段,端口            坑3.celery加了装饰器,但函数进不到task,原来是默认配置设定了tasks,用了别的模块名就识别不了            坑4.使 ...
 1.系统背景          统一收集各处系统的日志,方便后期统一查询,审计  2.系统技术栈        redis队列,用于接收接口post过来的数据        celery+rabbitmq,异步队列把post过来的数据存入mysql        http_api,接口        token认证        大表关联小表,并按月分区        简单的bootstrap页面        django          3.系统流程图                    第二版方案                4.前端u ...
       vanilla是django的一个框架,更高效,不过使用思路有点与众不同。        先看官方文档说明:http://django-vanilla-views.org/api/model-views        只有两种模式:base views ,model views           使用思路:         1.url层配 ...
         异步任务用提celery.          队列用的是redis,rabbitmq两种                  celery思路:               (1)引用celery     #coding:utf-8 from __future__ import absolute_import from celery import Celery app = Celery('T1',include=['T1.tasks','T1.call_tasks']) app.config_from_object('T1.config') if ...
         在做一个系统jiraconnector,打通jira与cmdb,以工作流方式,让ira也能成为一个发布系统。            原理:                   jira也cmdb本身是没有关联,需要一个扭带jiraconnector,通信是双向的,我这里用到了勾子,python_jira的api           画工作流:                              再根据工作流设计程序流程图:                        设计勾子,触发事件                              ...
动态流量切换路由降级方案之设计篇 nginx动态负载upstream四种方案之调研篇      动态流量切换路由降级方案之实现篇 1.流程图:              共享内存配置同步持久化到nginx.conf         cli操作方式:                          3.web方式操作    adjx 式交互     总结:         看图说话!         
app repository(版本仓库集中管理)系列之代码篇 app repository(版本仓库集中管理)系列之方案篇 app repository(版本仓库集中管理)系列之web篇  灵活扩展:         结合docker,把docker当成一个包,可以进行各种操作。   项目背景:        很多公司对于打出的包处理方式大概有:1.scp 传到各个节点  2.ftp跳到板(手动) 3.直接pull,compile  .....         没有象maven这样方便包管理的工具,于是对标maven的包结构,自研一个。         护展1:在这基础上 ...
         花了一天时间整理思路,把吸收知识吐出来,但发现知识结构太完善,太广了,一时不知从何说起,每一个点都值得深入,每一个面又是一个点,点与面又形成一个平台,好绕人。不过,把自已做过的东西跟大神一比,知道自已努力方向是对,想法是对的,差距也很明显,补。           简单总结各场次的相同点:          1.工具化          2.产品化          3.运营化            不同的业务场景需求:           1.cmdb           2.链路监控(从用户,本地网络,isp,cdn,负载,中间容器,缓存,db)   ...
app repository(版本仓库集中管理)系列之代码篇 app repository(版本仓库集中管理)系列之方案篇   app repository(版本仓库集中管理)系列之web篇    思路:        提供两种方式上传,下载大文件:web,client_api ps:下期出一个完整系列,期待,加入更多功能,重构代码,提供坚壮,高效,优雅的可复用的设计。 分步执行   1.服务端,客户端提供功能点:上传,下载,版本变更(流式解决大文件,避免占用内存) 2.定义路径。环境_应用_版本号_时间戳  3.多线程执行(上传,下载,版本号变更) 4.重传 ...
Global site tag (gtag.js) - Google Analytics