网站首页 > 技术文章 正文
在PDM系统用户使用系统时,偶尔会出现待处理的PDM自动通知定期出现由数据库服务器服务执行的处理时间超长的情况,这是什么原因导致的呢?下面我们来探究一下:
PDM文件库中触发诸如工作流程过渡通知、任务通知之类的自动通知时,将向数据库表 DocumentActionInfo 中添加包含通知详情的记录。之后数据库服务器服务将定期轮询该表,并且查看新通知,如果发现任何记录,就会生成实际通知,然后(通过数据库或 SMTP,具体视邮件设置而定)将其发给收件人。
所以如果该表中的记录数偏大(数百行或更多),在某些环境中,数据库服务器服务就可能需要很长一段时间来处理该表,因而导致发送通知很耗时。由于该表中的记录数动态变化,因此延迟时长也各不相同。在某些环境中,通知可能完成发不出去。
如果觉得系统可能遭受此问题的影响,请执行以下操作:
1. 如果已安装了数据库服务器服务并且运行正常,则只处理库中的通知。验证服务的应用程序日志中是否没有错误。
2. 查看表“DocumentActionInfo”中的行数。如果行数已然不少,而且还会随着时间的推移增多,则将无法正确处理通知。
3. 在运行PDM数据库服务器服务的系统上:
a. 在如下注册表项下方添加带有值 1、名为“日志”的 DWORD 条目:HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks\Applications\PDMWorks Enterprise\MailService。 b. 重新启动PDM 数据库服务器服务(如果未能及时停止,请关闭进程“ConisioDbServer.exe”)。
c. 稍等片刻,再打开文件 c:\DbServer.log,查看最后一行是否为:"Calling GenerateNotificationMsgs in 'VAULTNAME'"
d. 如果数据库服务器服务在该操作上被“卡住”(即重新打开 DbServer.log 后显示无变化),则表示库很可能受到此问题的影响。
e. 停止服务,根据下述解决办法更新库,启动服务。现在应该会开始处理通知,而且日志在重新打开后会保持更新。
f. 执行完毕后,将“日志”的注册表值设置为 0,然后重新启动数据库服务器服务。
- 上一篇: 如何解决消息队列的延时以及过期失效问题
- 下一篇: 初试RocketMQ消息中间件
猜你喜欢
- 2024-09-22 群消息,究竟存1份还是多份?
- 2024-09-22 初试RocketMQ消息中间件
- 2024-09-22 如何解决消息队列的延时以及过期失效问题
- 2024-09-22 深入了解 ActiveMQ
- 2024-09-22 别的老师一定不会教的,如何查看或撤消excel保护密
- 2024-09-22 群消息,究竟存一份还是多份?
- 2024-09-22 「ROS自学」03.02通信方式
- 2024-09-22 几万条群离线消息,如何高效拉取,会不会丢?
- 2024-09-22 EXCEL工作表保护密码破解
- 2024-09-22 “IT小百科”之“Windows自带的服务和系统进程详解”
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)