gyb todo
来源:互联网 发布:51单片机汇编指令表 编辑:程序博客网 时间:2024/05/16 19:10
1.日志信息完善
[2014-12-08 18:09:45:605][线程1100][5][20][0][]CDataImporter::Import错误:.
[2014-12-08 18:09:45:605][线程1100][1][20][0][]CDataImporter::Import result=-7.
此日志信息没有提供具体的错误描述,无法准确定位和处理
int CDataImporter::Import(IDataDoc *doc,short flag)
****增加错误信息描述
2.流量控制有缺陷
与平台连接的流量控制,目的是避免对平台造成过载的压力,如连接建立后需要发送大量的堆积的消息时。
目前的实现可能导致阻塞,HTX_Scheduler,GetData操作的发送队列都会出现。
HTX_Scheduler的阻塞导致注册过程无法完成,消息也不会发送.实际导致与平台的通信无法进行。
原因是:
。在向平台注册成功后,当超过流量控制的上限时,SEMQ的队列堆积了待发送的消息,如果HTX_Scheduler线程都阻塞在SEMQ的SendNewRecord上如处理810-Indication),
注册过程返回的消息无法被调度处理,直到超时断开.表现为长时间连接不上。
流量控制的超时值为300秒,过期的消息数为可再发送的消息数,但由于待发送的消息数量多,很容易到达流量控制线。
目前只能把流量水标设置的足够大。
解决办法:
方法1:与平台连接断开后,停止SEMQ发送任务(当时可能在阻塞状态,需要等待一个超时间隔才能完成队列当前元素的处理),清理掉队列中的元素。
---丢弃SEMQ队列的元素
方法2:服务器注册过程的消息由专门的任务处理,保证不会因流量控制而阻塞,就能保证与平台的通信持续。
---这种方法不需要丢弃SEMQ队列的元素. 但需要增加额外的任务,语义上难以解释.
3.供应宝平台的CSEMQ::GetData
int CSEMQ::GetData(string &sql)
时序控制代码被注释了?
----某些情况下可能会出现问题.如平台向下发送的需要控制时序的消息,可能就存在次序问题。
什么情况下注释掉的?
4. hotfox完善
---跨平台支持linux
---管理与配置:web,与Nginx集成
---unicode版本
---支持COM,支持跨语言开发,甚至支持java开发
---插件之间依赖关系配置:控制加载次序. ***目前有个问题:on_ee必须在md_mysql之后加载.在OnActivate中执行的操作有先后顺序要求!
5.客户端完善
。掉线问题:可以在ese中增加一个通信代理模块,可简化修改难度.
***连接断开不能中断用户的操作,甚至提示都没有,允许连接回复后用户继续原来的操作.
。服务分离:需要客户端支持
。登录连接时,“取消”操作相应非常慢
- gyb todo
- todo
- todo
- todo
- Todo
- [TODO]
- TODO
- todo
- todo
- TODO
- //TODO
- ToDo
- TODO
- TODO
- TODO
- todo
- todo
- todo
- 指针做形参做局部变量以及内存分配
- 【数据库系统概论】-关系数据库标准语言SQL(3)
- dll实现进程通信
- 推荐!国外程序员整理的Java资源大全
- I2C死锁原因及解决方法
- gyb todo
- Android 4.2蓝牙介绍 Android 4.4.2 bluetooth解析(一)
- I2C总线知识
- js限制最多三位数字
- ORACLE用SYS登录报ORA-28009:connection as SYS should be as SYSDBA OR SYSOPER解决方法
- 发布软件更新 大幅提升Form1+ 3D打印机性能
- 关闭占用特定端口的进程的方法
- android中Volley框架所遇到的问题
- 关于xib中添加collection view 控件引起brash