`
文章列表
起因: 在github找到一个库retrying 但这个库一点也不好用,好久没维护了 索性,造一个 还可以扩展timeout from functools import wraps from threading import Event def retry_exception(retry_count=0, interval_wait=0): def wrap(f): @wraps(f) def func(*args, **kwargs): try: ...
        控制台操作 控制台不闪退 1 os.system('pause')   获取控制台大小 1 rows, columns = os.popen('stty size', 'r').
      import random import time import signal from retrying import retry from functools import wraps def run_timeout(time_out): def wrapper(fun): @wraps(fun) def func(*args, **kwargs): def handler(signum, frame): raise AssertionError tr ...
import time import signal def fun_timeout(time_out): def wrapper(fun): def func(*args, **kwargs): def handler(signum, frame): raise AssertionError try: signal.signal(signal.SIGALRM, handler) signal.alarm(time_out) ...
python 两种多进线程池,线程池调 import multiprocessing from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor def t1(n): # print('进程池第{0}次调用'.format(n)) return n # 带资源回收的进程池 def m_process_pool(): pool = multiprocessing.Pool(processes=4, maxtasksperchild=3) r = [] ...
需求:       表授权       关键字过滤       导出       查询审计       查询timeout   方案设计  前端        bootstrap-table, bootstrap, ace, ztree, 后端      sanic, presto 存储      mysql   开发的难点:      1.如何根据查询结果在web展示      2.表权限过滤   开发的成果:      查询页面                       可以密码和用户名的关键字被过滤了              表授权 ...
                           运维开发最重要的两件自动化,监控            上图是做过案例的架构,整体而言都能满足当时的业务需求,但是没有平台化,当业务量达到一定级别时,服务不稳定或工作效率不高,就会设想升级当时的架构设想。就会有第一,第二,第n版........           最近抽时间回顾,曾经思考,组合的架构,虽然每一次都进步了一点点,但是还没有形成一个平台,平台里包含蟹藕的各服务组件,所有的操作,都形成规范,流程,自动,智能处理一些业务,解放人力。 
         导语 运维需要思维的突破,从 Ops 走向 DevOps,从项目走向产品,从资源走向应用~ 很多问题一直在困扰、在思考,为什么 CMDB 大部分项目都是失败的?为什么讨论的更多的是运维自动化而不是IT自动化?为什么线上问题永远是运维人的黑锅?带着这些问题我们来一探究竟。 一、面向应用的运维管理新思维
         django 目前权限两种:              1.表级别,也是model,默认的表级别,add ,delete,change              2.对象级别,也是field           虽加入了guardian,设计思路还是user ,group,role,类似于linux的3 2 1           guradian 的官网示例        https://django-guardian.readthedocs.io/en/stable/userguide/assign.html#prepare-permissions   ...
     1.here is no current event loop in thread 'Thread-1'   First, you're getting AssertionError: There is no current event loop in thread 'Thread-1'. because asyncio requires each thread in your program to have its own event loop, but it will only automatically create an e
       ORM选择ebean,当然也有很多其它ORM框架可选,这里不谈,看个人,团队的环境需求。                  model:         这个模型的表关系有一对多,多对一         @Table(name = "Test") class AppModel ( @Id var id: Long? = null, @Column(name = "name", length = 100, nullable = false, unique = true) var name: Strin ...
        kotlin开发IDE有很多,凭个人习惯,这里选择IDEA.         IDEA先天集成了kotlin,直接使用。         环境配置略过,先来个hello,world                          kotlin语法规范      https://github.com/huanglizhuo/kotlin-in-chinese
        #coding:utf-8 ''' 多进程同步写法 ''' from multiprocessing import Process import time,os,sys,math def f(name): print 'hello',name print os.getppid() print os.getpid() sys.stdout.flush() def main(): process_list = [] for i in range(10): p = Process( ...
          类继承的好处的就是少写代码。           重点讲一下,基类中为什么要有super(基类,self).__init__()或patrent.__init__()              其实,它们的作用都是一样的,为了MRO            所谓的MRO是:                         class Root(object): def __init__(self): # self.name = name # self.age = age print 'this is Root' # de
grpc 是rpc的一类。 grpc官网 : http://www.grpc.io/docs/tutorials/basic/python.html 序列化使用的是:https://developers.google.com/protocol-buffers/ cs模式,stub校验  四种模式,其实也就两种大模式有stream,没stream的;使用stream只不过是为了减少系统的开销  以下例子是python版,其它版体是大同小异   使用步聚:   1)定义IDL syntax = "proto3"; package hello; ...
Global site tag (gtag.js) - Google Analytics