Caesar's Blog

传递知识,分享经验

写在年末12月

say something

写在年末12月,树叶凋零,阳光温暖,天空舒旷。 如果要赞美生活,如果要歌颂工作,在我这习惯报喜不报忧的性格,我想我怕是写不出一个字,而一切的解答似乎只有沉默。 不去抗辩,因为总有人比你诡辩,也不去争夺什么, 所遇即最好。 然而三十余年, 回首唯有空空如也,每月交着房租,栖息在城市的一隅。 每天除了工作还是工作, 然而工作是给人观瞧热闹的杀头游戏。 我是邢台上五花大绑的囚,躲避四周...

python3.7原生协程

python3.7 asyncio

协程 从python3.4到最终python3.7, 将asyncio合入到最终版本。在之前版本,都在使用第三方包eventlet,gevent等协成库。但大体思路是一样的 事件循环 : 将协程加入到事件列表中(堆)中,协程依次执行,当协程短暂阻塞后,重新唤醒。 Future对象: 协程的载体,用于表示协程执行的对象(类似与js中promise对象) Task对象: 继承Fut...

ant design vue pro记录

vue component record

项目中使用ant-design-vue-pro做前端,经常会遇到一些问题。这篇文章,是关于其中遇到问题及解决方法。 组件更新 在s-table的查询表格(TableList),操作列中加点击事件,当点击的时候,加载model框,显示一个子table详情信息。 但是当点击详情时,第一次加载后,后面的数据与第一次的完全相同。 为了使自定义组件DetailTable可以每次刷新,在组件中定义ke...

oslo.messaging RPC调用分析

oslo.messaging RPC call analyse

oslo.messaging RPC client-server调用实现 (以rabbitmq实现为例) 可以参看示例代码 server端 oslo.messaging server端启动时,self.dispatcher为RPCDispatcher类,RPCDispatcher在__call__中, 完成调用endpoint中method if self._executor is not...

Eventlet协程库分析

Eventlet conroutine analysis

Eventlet 文中所有注释见我的github python中由于使用GIL,每个CPU在同一时间只能执行一个线程。在单进程的多线程下, 即使是多核CPU也仍然是单线程。使用Eventlet协程,可以实现线程中协程调度, 更重要的是,协程切换,资源消耗比线程小。eventlet依赖greenlet库(C语言协程库,提供python接口),其调度,需要手动switch切换。在eventl...

Flask 反序列化对象未绑定session

Flask deserialize object not bond to session

Flask反序列化对象 从redis缓存中取出Artcile对象,获取文章对应作者,如下 res.append( { "id": article.id , "title": "<a href='%s' style='cursor:pointer'>%s</a>" % (article.id,ar...

打包flask应用

package flask server

打包 实验代码是最简单的flask工程,”/”, render_template到hello.html. hello.html中渲染”hello world” 使用pyinstaller -F app.py --name app 对服务进行打包,在dist中发现app.exe文件 但是执行时,出现如下错误 搜索问题的答案[stackoverflow] (https://stackove...

oslo.messaging RPC举例

example for oslo.messaging usage

配置文件 配置rabbit的ip和port,userid和password,如下是部署rabbitmq的主机 [DEFAULT] rabbit_host=196.168.1.120 rabbit_port=5672 rabbit_use_ssl=false rabbit_userid=guest rabbit_password=guest 注意DEFAULT为大写,否则无法加载 服务端 ...

oslo.messaging Driver分析

oslo.messaging dirver analyse

oslo.messaging driver实现 (以rabbitmq实现为例) oslo.messaging的dirver,使用ConnectionContext对ConnectionPool(连接池)和rabbitmq连接对象Connection进行管理。 对数据库connection管理 在impl_rabbitmq.py中,定义koubu操作rabbimq连接对象的Connection...

flask sqlachemy时间格式

flask sqlachemy time format

问题 在flask-sqlachemy中,使用sqlachemy创建created字段 created = db.Column(db.DateTime, nullable=False, default=datetime.now) 但是页面上读取数据库存入时间是 修改 查询数据类型,Datetime是肯定带毫秒,除非使用String,存储时将当前时间格式化后存储。 简单做法是定义...