log4js在PM2的cluster模式下大坑

之前一直使用 debug 还有 console.log 去打日志,或者使用文件日志模块,之前用 log4js 也主要为了把日志传输到 ELK 上。新的项目上决定使用 log4js 来全面统一项目中的日志,所以统一构建了一个日志配置。 在本地调试还有早期测试服务器部署都工作正常,多个配置项也输出正常,但是在部署到正式服的时候,发现日志不输出了,文件也没了记录,在生产环境使用 node 运行跟配置一致的 log4js...

Node.js
全文约 256 字, 预计阅读时间为 2 分钟

使用PM2的GracefulReload无停机更新Express应用

最近的项目上遇到一个问题,在 API 服务中,有些请求是先返回了结果,然后在后面继续处理一些异步操作,但是如果这时候重启了服务,因为部分操作没执行成功,就会导致数据不一致的情况。 很早之前就知道了 PM2 的 GracefulReload,而且在实际项目中也有使用,但是基本都是以连接断开为标记,这次就顺便研究了一下怎么样更优雅的实现无停机更新。 最简单的版本 const http = require('http'); const express =...

Node.js
全文约 491 字, 预计阅读时间为 2 分钟

Fastlane构建多个AppleID的IPA包

最近在做一个基于 Fastlane 的构建脚本,但是因为有一个 iOS 的项目有基于多个 AppleID 发布的包,也就是多个影子项目,你懂的,那么能不能简单地基于一个配置构建多个 IPA 输出呢,研究了一下 Fastlane 的文档,实现起来还是很简单。 准备工作 首先对项目添加多个 target,这样方便管理各个影子APP的图标等内容,这里就不赘述了,可以参考下面两篇文章实现。 《Xcode...

iOS
全文约 340 字, 预计阅读时间为 2 分钟

flow.ci使用最后的commit信息作为Fir日志

最近开始使用 flow.ci 进行客户端的自动构建并发布测试版本到 Fir 方便测试人员尽快测试反馈,好处不用说,不再需要每天手动打包并上传到 Fir。 自动构建 进行自动构建的方法这里不再赘述,直接看 flow.ci 博客: iOS 持续集成快速入门指南 使用 flow.ci 实现...

解决问题
全文约 135 字, 预计阅读时间为 1 分钟

使用Python操作SPSS

因为最近需要在 SPSS 的输出中提取出相应表格的内容数据并进行相应的计算,以便自动化处理输出的结果,所以开始研究了一下 SPSS 上的 Python 操作,使用 SpssClient 对输出进行处理。 首先讲一下怎样在 SPSS 上运行 Python 脚本。 使用...

Python
全文约 243 字, 预计阅读时间为 1 分钟