集成平台和打印调度服务间歇性出现错误导致失败
症状
在某些情况下,例如系统负载较重以及 BarTender 引擎启动/重启时,集成和打印调度服务可能会失败,导致 BarTender 引擎无法启动。您会看到以下错误信息。
打印调度服务错误信息
- BarTender 引擎无法启动。可能的原因有:1. BarTender 未正确安装。2. BarTender 未在计算机上正确注册。3. 有太多 BarTender 进程实例正在运行。请停止部分 bartend.exe 实例后重试。有关如何通过增加“非交互式”共享桌面堆来允许更多 BarTender 进程在您的计算机上运行的信息,请参阅 SDK Engine.Start 方法文档。4. 用户账户没有运行 BarTender 的权限。详细信息:
- 错误号:12,原因代码:FailedStart: %s
- 用户账户没有运行 BarTender 的权限。错误号:12 ::CoUnmarshalInterface 失败:0x80070218
*打印调度服务日志位于 C:\ProgramData\Seagull\Services\Logging\PrintScheduler.Service.txt。
适用范围
-
BarTender 2019 R3 及更高版本
- 集成平台和打印调度服务
解决方法
这些错误和症状表明 BarTender 在与集成和打印调度服务建立连接和通信时遇到了问题。BarTender 可能初始化时间过长,导致超时。
从 BarTender 2019 R3 开始,集成和打印调度服务进行了如下改进,以增强容错能力。
- 打印调度服务会自动尝试 3 次启动 BarTender 引擎。
- 如果全部失败,打印调度服务无需重启即可继续处理后续的打印请求。
这些改进在大多数情况下基本可以解决此问题。在极少数情况下,您可能还需要增加集成与打印调度服务和 BarTender 之间通信的超时时间。您可以按照以下步骤增加超时时间。
修改 Windows 注册表时请务必小心。不正确的更改可能导致系统损坏。
- 打开 Windows 注册表
-
定位到注册表路径:HKEY_LOCAL_MACHINE\SOFTWARE\Seagull Scientific\BarTender
-
创建注册表键:BarTenderActivatorTimeoutMS,类型为 DWORD 值。
-
将该注册表键的超时时间设置为毫秒数,基数选择十进制。根据我们的测试,60000 毫秒(60 秒)效果最佳。