0%

用Django写项目,遇到临时需要处理数据库的问题时,会考虑直接让脚本在项目环境中运行,这样就可以直接用定义好的模型和方法了。

这里提供几种方法,通过Django执行指定的脚本,让脚本直接在Django项目的环境中来运行。

阅读全文 »

最近都在用YouTube Music来听歌,但是这东西有个问题就是他只是个Chrome的APP。当你习惯了网易云音乐这些应用点击关闭按钮就自动隐藏的操作后,点击YouTube Music的窗口就会悲剧了。

所以我简单写了个Chrome的扩展,向YouTube Music的页面中注入了一段代码,防止手误直接把YouTube Music给关闭掉,音乐不手滑,欢迎试用~

下载地址: https://chrome.google.com/webstore/detail/jmbefokklnmcljplonbibpiakiphbfag

最近搞等保的事情,在操作系统上安装了audit服务。但按照等保的要求,审计日志需要定时异地转储,所以查一下如何将audit服务的日志文件可以按时间来进行rotate。

阅读全文 »

最近在Django编写的一个系统中希望能加入对当前celery积压任务的展示,并且能提供功能来清理队列。我们使用了RabbitMQ作为了celery的broker,除了直接用kombu来编码实现需求外,还可以直接使用以下的方法来实现需要的功能,减少一些broker配置的代码。

阅读全文 »

最近使用Django admin在后台来添加删除一些数据,使用模型中的字段的choices来实现下拉框的功能,但是发现后期choices如果要新增或是删除就会要重新生成migrations文件,为了解决这个问题,只能设法让django的choices可以动态地生成了。

阅读全文 »

最近发现用Django写的某项目时不时会有报错发生,我们用的是postgresql+pgpool2的组合,日志显示报错信息如下:

1
2
3
4
5
psycopg2.OperationalError: unable to read data
DETAIL: child connection forced to terminate due to client_idle_limit:10 is reached
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.

从报错日志来看,是由于pgpool2的client_idle_limit参数设置得太短,设置成了10秒,自动将10秒不活动的客户端连接给关闭了,但Django这边并没有感知数据库连接已经断开,还在继续使用数据库连接,导致了这个报错。

阅读全文 »

写一篇与IT无关的文章~

最近发现家里博世壁挂燃气热水器下方的台面上有积水的情况,这才注意到热水器的压力指示过高,指针指示已经超过了3到了红色的位置,估计是因为这个触发了自动漏水泄压了。打了博世维修的电话,怀疑是夏天温度过高,远程指导着泄了一次压,顺便把这个过程记录了下,以便于以后的使用吧。

阅读全文 »

最近在服务器上写了个python脚本来跑一些任务,本地(macos 10.14)通过ssh来远程运行这个脚本:

1
ssh knktc@cloud.knktc.com /home/knktc/test.py

结果却出现了类似下面的错误:

1
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 1941: ordinal not in range(128)
阅读全文 »

在开发closestack这个虚拟机管理项目的时候,本着精简的原则,我没有使用celery等异步的方案,部署倒是简单了,但是可以预见,如果同时使用系统的人员增加的话,可能出现等待时间超长的问题。因此需要使用过一个简单的方法来实现异步,以解决并发的问题。

阅读全文 »