python3.7 redis队列类实现 # -*- coding: utf-8 -*-import loggingfrom typing import Listlogger = logging.getLogger(__name__)class BaseQueue(object): def __init__(self,redis_cli, name): self.redis_cli = redis_cli...
python3.7安装 用python3.7.4安装,老是会报关于ssl的错误,但是用3.7.5就不会,很神奇!!安装依赖yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++安装最新的opensslwget https://www.openssl.org/source...
fpm 对python3.7.5虚拟环境进行打包 python3.7.5环境打包打包前准备环境可能是由于版本原因,fpm打包时默认会从系统拿默认的python来打包,即使进行虚拟环境也一样。但是我们需要用python3。所以首先把系统默认的python改为3.7cp /usr/bin/python3.7 /usr/bin/pythoncp /usr/bin/pip3.7 /usr/bin/pip3.7因为打包virtualenv需要...
fpm打包python3.7安装过程为rpm python3.7安装包需要的安装包Python3.7wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tar.xzopenssl安装包wget https://www.openssl.org/source/openssl-1.0.2t.tar.gzafter-install 脚本install_py37....
fpm安装与打包 fpm相比其他打包工具,它的优势在于能在一个系统平台上打包出适合各个系统平台的安装包。不需要说centos用rpm-build打包rpm,ubuntu用dept打包安装包。安装fpmyum install ruby-devel gcc make rpm-build rubygems#替换成国内源gem sources --add https://gems.ruby-china.com/ -...
conflicts with file from package epel-release-6-8.noarch 安装rpm-build包时与epel-release-6-8.noarch冲突,报错:Transaction check error:file /etc/rpm/macros.ghc-srpm from install of redhat-rpm-config-9.1.0-88.el7.centos.noarch conflicts with file from package epel-r...
基于JWT token 及 AUTH2.0 refresh_token的前后端分离验证模式 前后端分离的登录验证我们的程序一般是通过微信扫码来进行登录的,但是在接进前后端分离之后,发现登录验证过程不是很友好,于是查了一些资料。比较推荐用JWT来做一个token的验证实现登录,但是有些文章提到,JWT token会有token失效时间过短造成要重新登录的问题。考虑到这个,参考一些文章在jwt的基础上添加了auth2.0中的refresh token的机制。关于代码我们的前后端架构是f...
mongodb复制集搭建测试 架构因为我们机器不多,考虑到小而稳定,我们用三台机器来搭建这个复制集,其中一台primary,一台secondary,一台ARBITER角色机器primary192.168.203.128secondary192.168.203.129ARBITER192.168.203.130网络环境hosts配置复制集每台机器互相之间的连接可以通过ip:...
mongodb数据库基本操作 mongodb shell添加用户赋权限use socketProjectdb.createUser({user:'dev',pwd:"1111111",roles:[{role:"readWrite",db:"socketProject"}]})db.createUser({user: "admin",pwd: "1111",roles: [ { role: "userAdminAnyD.
字典元素排序 按key排序sorted(temp_dict.items(),key=lambda x:int(x[0]),reverse=False)按value排序sorted(temp_dict.items(),key=lambda x:int(x[1]),reverse=False)
时间转换 datetime对象转为time结构对象datetime.datetime.now().timetuple()获取时间戳> 当前时间戳time.time()> 某个时间字符串的时间戳time.mktime(time.strptime(time_str,'%Y-%m-%d %H:%M:%S'))> datetime对象转时间戳time.mktime(dat...
js 两个列表取交集 js没有直接的方式来获取两个列表的交集,需要自己写一个函数,如下:function jiaoji(arr_1,arr_2){ //先对arr_1进行一次深拷贝,防止对原两个列表造成影响 let temp_list = $.extend([],arr_1) arr_1.forEach(function(value){ //如果arr_1的元素不在arr_2中,那么去...
js 深拷贝 js中,对于动态对象通过赋值,concat,或是扩展运算符进行变量定义的,都是浅拷贝。如果要进行深拷贝,一种方式是进行循环进行append,加入到新变量中,这种方式比较麻烦另外一种的话,就是通过$.extend函数进行深拷贝了,方式如下:以对一个列表进行深拷贝为例:array_1=[1,2,3]array_2= $.extend([],array_1)这样之后,修改arr...
python 判断对象是否可被调用 有时候在传参时,需要判断该参数是不是可以被调用的,例如说变量说函数或者说类。可以通过callable函数来判断:>>> a=1>>> callable(a)False>>> def b():... print 1... >>> callable(b)True如果想更仔细的确定调用类型,那么就需要用...
python 监听salt job状态,并任务数据推送到redis中 salt分发后,主动将已完成的任务数据推送到redis中,使用redis的生产者模式,进行消息传送#coding=utf-8import fnmatch,json,loggingimport salt.configimport salt.utils.eventfrom salt.utils.redis import RedisPoolimport sys,os,datetime,...
python ipset管理 增删白名单 为方便用ipset 来管理防火墙,写了下面Ipset类来对Ip进行管理#!/usr/bin/env python# coding: utf-8import MySQLdbimport MySQLdb.cursorsimport subprocessimport loggingimport re,osimport xml.saxclass XMLHandler(xml.sa...
wiki.js搭建自己的wiki wiki.js搭建官网[wiki.js:](https://docs.requarks.io/wiki/)目前这个wiki.js还存在一些bug,期待2.x版本正式发布!软件依赖wiki.js需要以下软件包:- git 2.7.4 or later is required- nodejs 6.11.1 or later is required.- mongodb 3.2 or ...
python 多层嵌套列表 转成一维列表 如以下的嵌套列表:[1,[2,3],[4,[5,6]]]因为不知道嵌套了多少层,常规的方式是写一个递归函数,对这个函数进行递归来生成一维列表。后来发现,在python的compiler模块中,提供了类似功能的函数:>>> from compiler.ast import flatten>>> flatten(a)[1, 2, 3, 4, ...