docker定时任务
使用docker来构建一个镜像,并使用docker容器来处理定时任务。如果在集群里面,也能使用k8s的定时任务功功能,但是注意k8s的时间问题,比北京时间晚8小时。
使用docker来构建一个镜像,并使用docker容器来处理定时任务。如果在集群里面,也能使用k8s的定时任务功功能,但是注意k8s的时间问题,比北京时间晚8小时。
装饰器decorator 是我之前一直很难懂的地方,曾经想死记装饰器的写法,但不得要领。现在,自己又实现了一次装饰器的编写,发现并没有那么难懂呢。发现,其实,它跟js的闭包非常的像。甚至说一致,然后再加上一个f=myfnc(f)的作用域替换。
所以,装饰器模式,首先能闭包,即函数内能继续嵌套定义函数,内部的函数,享受外部作用域的变量值。另外,有一种方便的方式,覆盖原函数。
关于理解:从调用的方式来看,最外层的函数,最先调用。最内部的函数,是最后调用,而且是跟原函数一样的参数结构。每调用一次,脱一层。所以,理论上讲,能嵌套很多层,视具体情况而定。从最终调用的函数,即定义在最内部的函数来看,它可能需要很多参数,在本层解决不了,那么,没有关系,我们可以在最外边加一层,一层不行,加二层,反正其他层的变量,在此都是生效的,都是为了本层服务的。(其实,这也是自己理解js的闭包层层封装,js是方便,生成各种的调用方法)(js理论上讲也容易实现装饰器方式,只是没有@那种语法)。
getopt只需要了解一点简单用法即可,更好的是使用argparse 等库进行替代。但是在用的过程中,会有如下的易错地方,1、getopt参数不能直接用全部的参数,因为,第一个参数为文件名称,它会破坏掉正常解析。2、解析顺序,参数的选项,必须放在最前面,后面非选项型参数,否则,不能正常识别。
python连接mysql的驱动程序Pymysql,安装及一些常见的用法。对简单的操作,已提取封装成了一个库mysql_db。对遇到的问题,提出解决方案。
其实,是没有“数据的原近”这个概念的,只是最近反复提到这个词,便想记录一下关于这个的一些想法。
在web开发中,常会用到数据库等工具。而那些web服务呢,其实就是调底层数据库的资源,来达到存储、计算或统计的需求。按照一般的web开发而言,关于数据在哪处理,可以有很多种方式,但总得来说,也就这几种,底层的数据库计算,后端服务的计算,前端的计算(当然,前端计算也分好多种情况)。按数据计算的难易程度,恰好跟距离数据源的远近有关系,越近越好计算。比如,简单得统计,一般sql能完成的,都会直接用sql来完成,没有人会傻到在后端服务里面去实现。而这也正好是数据库的拿手好戏,非常的easy,一段sql即可完成,甚至非常复杂的统计计算。如果将这统计的活放到后端服务,那么,后端服务,需要先拿到需要的部分数据,然后呢,在各种过程化的编程代码中,完成了统计。如果,将这些数据,放到前端计算,那就更麻烦呢。不是不能做,是做起来费力不讨好。前端来计算,大概的流程是,发送请求给后端,后端呢,再从数据库中取到数据
Python中的线程手全局锁的影响,线程受限于某个cpu上,但是呢,多进程模式,不手此影响。多线程,省资源。多进程有点浪费资源,但是能利用上多核的性能。
记录一下,python中的多进程使用方式。另外一种多进程方式concurrent的库。
镜像是分层,这个我们都知道,但是每层都是什么呢?哪些命令会导致增加一层呢?docker commit的方式跟使用Dockerfile构建的区别呢?它的层会不会少一些呢?