- 浏览: 989006 次
- 性别:
- 来自: 上海
最新评论
-
hsluoyz:
PyCasbin 是一个用 Python 语言打造的轻量级开源 ...
django guardian 对象级别权限设计 -
phncz310:
厉害了,我的哥
python黑魔法异常重试的次数,间隔的装饰器涵数 -
adamoooo:
Zabbix二次开发,可以试试:乐维监控www.91lewei ...
zabbix二次开发及app -
shi3689476:
你好,模块下载地址还能提供一下吗?
NGINX开发杀手锏-线程池 -
tobato:
Elasticsearch 和 Influxdb 为何选了El ...
elastic作数据源,对比kibana与grafana
文章列表
起因:
在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;
...