Qunar项目之总结篇
Qunar负责的项目汇总。
感谢Qunar让我成长 !!!
项目总结 Qunar Python实战 Web
1、背景
统计一下负责项目的说明。
2、统计
| ID | 项目名称 | 中文名称 | 重要程度 | 技术架构 |
|---|---|---|---|---|
| 1 | backyard | 骆驼帮 | ★★★ | 前后端分离项目【Python + React】 |
| 2 | isapi | 员工信息API | ★★★ | rest api,Python编写 |
| 3 | new_hrtools | AD账号管理系统 | ★★ | 任务脚本较多,Python编写 |
| 4 | officedb | 办公大厦管理系统 | ★ | 后台【Flask】+ 模板 |
| 5 | opsapp | Qtalk Apis | ★★ | rest api |
| 6 | outage | 故障系统 | ★★★ | 后台【Flask】+ 前端【angularjs】 |
| 7 | psapproval | qtalk审批申请 | ★★ | rest api,Python编写 |
| 8 | wwwhr | 员工信息采集系统 | ★★ | 后台【Flask】+ 模板 |
| 9 | newoa_api | newoa审批Api | ★★ | rest api,Python编写 |
| 10 | opsbi | Ops故障可视化bi系统 | ★ | 后台【Flask】+ 前端【angularjs】 |
| 11 | smsdb | 短信狗 | ★★ | 软件 + 硬件 |
| 12 | opstools-cron | 定时任务 | ★★ | Node |
3、项目说明
3.1、Isapi
简述
Isapi是一个提供qunar员工信息数据的api项目,主要针对的用户群体是内部员工。数据来源于ehr系统(peoplesoft,简称:ps),ps使用的是Oracle数据库,基于ps提供的view试图,把员工数据同步到一个新的数据库,Isapi选择使用了postgresql,把员工信息数据封装json,通过http api接口的方式开放给用户,不仅解决了其他系统使用员工信息数据的问题,还有让ps数据隔离,提高了安全性、可用性。
3.2、backyard
简述
用于Qunar员工内部使用的一个web内网系统,主要用于员工信息查询、考勤、公司相关的制度、条例等信息,是一个员工访问量相对较大的一个web系统。
3.3、new_hrtools
简述
项目主要用于员工ad账号相关的处理,主要有API接口和定时任务2大部分组成,其中定时任务是重点,与ldap、数据库均有交互,是一样日常运维工作较多的一个项目。
3.4、officedb
简述
Officedb系统是Qunar行政管理员工办公大厦的一个内部系统,主要针对于Qunar行政、QunarIT对办公大厦进行费用、员工信息等管理,实现Qunar办公大厦的自动化。
3.5、opsapp
简述
opsapp跟Isapi实现的功能大致一样,这个项目是专门用来提供给qtalk移动端在外网情况下进行使用的一个api接口,这个接口实现了访问内网需要的api接口,实现了在非内网情况使用qtalk功能。
3.6、outage
简述
主要用于用户进行报故障所用,主要有故障通报、故障review、故障产品线、对外API4大部分。
3.7、psapproval
简述
主要用于ehr系统部分流程审批、申请在qtalk移动端进行操作。ehr系统主要用于管理员工、员工使用的一个人事系统,只能通过pc端进行操作,为了能在qtalk移动端也同样进行操作,psapproval接入ehr的员工使用流程。
3.8、wwwhr
简述
用于采集入职Qunar员工基本个人信息的一个外部系统,信息主要用于ehr系统使用,是一个正常入职Qunar员工必须走的一步。
3.9、newoa_api
简述
newoa_api是专门针对于PC端Newoa表单在移动端详情展示,主要用于数据格式化。
3.10、opsbi
简述
Opsbi是针对于Ops组造成故障的数据做的一个可视化web系统,数据源来源于Outage故障系统,是一个前端【angularjs + echart】+ 后台【python】一体的项目。
3.11、smsdb
简述
smsd是一个针对于机票事业部短信收发做的一个项目,实现了机票部门短信接收、发送、代收等功能。
3.12、opstools-cron
简述
Opstools-cron项目主要针对于其他项目有定时任务写的一个请求request crontab,由pm2进行管理。
4、发布
4.1、 提交代码
1 | |
4.2、自动化发布
1 打开自动化发布url。
2 左侧查看通过tag触发构建的项目,等待构建完成。如果构建过程中出现问题,请联系相关负责人进行处理。
3 点击Qunar Build,选择QA【beta环境】,先进行beta环境发布,参数详解如下:
- server_list_group:A
- tag_name:q-xxxxxxxx-xx
- server_list_group代表发布机器组,发哪个组写哪个组名即可,全部写ALL。
- tag_name为构建的tag名称。
4 QA发布完成环境之后。
5 在选择OPS【线上环境】进行发布,建议发布一台检查一台的方式去进行发现线上环境。
5、项目启动
5.1、常规
1 | |
5.2、调试
1 | |
6、supervisorctl管理
登录服务器上切换到sudo用户,执行supervisorctl:

常用命令说明:
- status 查看项目运行状态
- restart outage-www 重启outage-www 项目
- start outage-www 启动outage-www 项目
- stop outage-www 停止outage-www项目
- start all 启动所有项目
- stop all停止所有项目
- tail -f outage-www 动态的查看outage-www项目日志