安装部署

任务不执行

任务不执行、休眠的问题

  1. 控制面板-其他-队列管理中有一些任务一直休眠中,然后手工启动就可以了。

  2. 系统-导出任务中任务一直是请求中,不动

遇到上述两类问题,请按以下步骤进行检查:

  1. TASKMGR里config.php文件是否配置好了,并且进程脚本是否正确的stop start命令重启过。

  2. 检查TASKMGR下logs里的日志,每个任务都会有相应的日志文件,查看里面的请求内容,尤其是域名是否正确,并且根据域名访问下,是否可以正常访问,比如因为开启了防火墙,或者内网机器不能访问外网域名等等(日志里请求状态200为正常状态 500基本是php代码报错 100不通)。

基本上做了上面两步操作问题即可解决。

PS:有的时候服务器禁止了本机通过域名访问自己,任务日志里看到请求的状态是0,这个时候可以直接在etc/hosts里指定下当前oms的域名是127.0.0.1即可

多套OMS服务器部署策略

真实项目需求

客户购买了多套OMS,实现不同区域的业务分开管理(大陆、国外),服务器应该如何部署

情况一

有钱任性,前期就考虑不要因为资源共享而导致后续资源或者服务紧张,最终导致业务服务的性能瓶颈问题

建议:按照具体项目方案部署两套完全独立的OMS系统,并且相关的硬件、服务也独立

情况二

节约成本,在量不大的时候可以共用一部分硬件、服务或资源

建议:

  1. web服务,代码部署两套在相同的web机上指定不同的目录路径以及域名访问地址

  2. 缓存服务,比如memcache 按具体系统分不同端口,可在同一个服务器上

  3. KV服务,比如redis 按具体系统分不同端口,可在同一个服务器上

  4. 队列服务,这个比较特殊,一般轻量级的会用redis(注意这里的redis队伍服务绝对不可以和kv服务用同一个,至少是不同的端口),中大型的用rabbitmq。

PS:

taskmgr任务管理中,队列名前缀我们可以自定义(脚本机和web机上的代码app\taskmgr\config\config.php都需要修改,基于v3.7.6版本),所以可以部署两套脚本,不同的队列名,用同一个队列服务。

并且两套脚本要部署在一台服务上,需要调整守护进程app\taskmgr\check.sh里的进程是否存在判断,可以根据脚本所在不同路径加grep的过滤,并且app\taskmgr\taskDaemon.php中需要修改下后缀为.pid文件的文件,区分成不同的文件名原来是erp-前缀

oms订单状态没有回传至ecstore,在oms中状态回写一直显示 “发货中”是什么原因?

如果是待发货状态,说明没有正常发起发货请求,可以查看下队列里是否存在回写的任务没执行,

如果没有正常执行,请检查定时任务taskmgr的配置

如果是发货中查看日志中是否有请求,查看是否正常返回,如果超时可以重试 

配置了日志服务,查询功能无法正常使用可以在哪里查询?

检查日志服务的存储文档定义是否添加了索引

当然日志服务的管理工具rockmongo也提供单独的界面做查询

oms库存,自动回写天猫店铺功能失效是为什么?

1.确认一下店铺回写库存有没关闭

2.检查定时任务taskmgr配置 http://club.ec-os.net/doc/oms-dev/500.faq/2.cron.md

报表-》商品销售情况 列表中的销售金额有小数,是如何计算的?

因存在订单优惠金额,系统在计算商品销售金额时,
会将订单优惠金额依据商品价格分摊到各商品上,所以才会出现小数。  

比如说订单优惠金额为254,则会将这254分摊到各商品上,分摊比例为商品金额占总金额的比,
就是(订单优惠金额/订单实际总金额)*商品实际金额  

导出任务列表一直显示运行中,无法下载,是为什么?

如果是写本地文件的方式,检查路径/data/export是否有写权限

批量单据校验,及批量发货时,状态一直显示等待中,怎么办?

检查定时任务taskmgr配置

http://club.ec-os.net/doc/oms-dev/500.faq/2.cron.md

oms批量同步会进入缓存队列中,稍后执行,在队列中看到这次同步是休眠的状态,是否是自动启用的?

检查定时任务taskmgr配置

http://club.ec-os.net/doc/oms-dev/500.faq/2.cron.md

加入缓存队列中稍后会自动执行,但是进入休眠状态说明计划任务,

没有配置正确,需确定crontab -l 下的计划任务是否全部开启  

oms的计划任务是怎么做的?目前oms自动派单是由计划任务定时执行吗,还是订单进入系统后立即分派的?

http://club.ec-os.net/doc/oms-dev/200.install-deploy/4.taskmgr-server.md

关于oms安装的参考文档在哪里看?

http://club.ec-os.net/doc/oms-dev/200.install-deploy/1.yum3-5-0.md

oms的授权文件要放在哪里,安装oms,选择“正式环境”,输入shopexID,直接可以进入oms后台,而且显示是正式授权,但是使用的时候有并发限制是怎么回事?

oms授权文件配置在/etc/php.d/Zend.ini中配置,配置的是oms代码包自带的授权文件,

所以有并发限制,需配置正式环境的授权文件路径。

怎么切换oms到沙箱的调试环境,奇门仓储调试又要做哪些配置和注意些什么?

第一步,安装后修改配置信息文件config/config.php在底部增加如下代码:
define('LICENSE_CENTER_INFO','http://service.ex-sandbox.com/');
define('SHOP_USER_ENTERPRISE','http://passport.ex-sandbox.com/index.php');
define('SHOP_USER_ENTERPRISE_API','http://passport.ex-sandbox.com/api.php');
define('OPENID_URL','http://openid.ex-sandbox.com/redirect.php');
define('LICENSE_CENTER','http://service.ex-sandbox.com');
define('LICENSE_CENTER_V','http://service.ex-sandbox.com');
define('MATRIX_URL','http://rpc.ex-sandbox.com/async');
define('MATRIX_REALTIME_URL','http://rpc.ex-sandbox.com/sync');
define('MATRIX_RELATION_URL','http://sws.ex-sandbox.com');

第二步,修改数据库内sdb_base_network表内的node_url字段:
http://matrix.ecos.shopex.cn 替换成 http://rpc.ex-sandbox.com

第三步,调用框架函数,获取沙箱环境下的OMS证书以及节点
修改根目录下script/update/script/的脚本,可以拿updateOme.php改一下,主要目的执行一下base_certificate::register();
这里要注意,如果这里获取证书和节点号不成功,可能是两个情况,一个是你的测试服务器部署在外网,外网访问授权服务的时候要添加外部访问的白名单才可以正常请求,另外种情况,你可以开启系统其他配置的系统内部日志,查看data下的请求log是超时还是其他问题

以上三步都执行成功了,oms环境便切换成了沙箱环境

基于上述处理步骤后,奇门仓储配置步骤
第一步,奇门会对对接的仓储提供测试环境的cutomerId appkey获取到这个信息
第二步,联系这边的技术进行奇门测试环境的绑定
第三步,oms仓储管理里进行绑定

完成以上三步,绑定即完成

沪ICP备05002918号

© 2003-2017 ShopEx,Inc.All rights reserved.