问题
Ren Sicong · 一月 26, 2021

ensemble使用中遇到的问题+队列和作业 Problems encountered in using ensembles + queues and jobs

在ensemble使用中遇到过重启组件失败需要强制更新的情况,报错为作业未在10秒内停止,此时需要手动停止报错的作业,或者重新启动production,强制更新是不能解决作业不能及时停止的问题,所以目前对强制更新的使用场景有疑问

In the use of ensemble, when the component fails to restart and needs to be forced to update, the error is that the job has not stopped within 10 seconds. At this time, the error reporting job needs to be stopped manually, or the production needs to be restarted. Forced update can not solve the problem that the job cannot stop in time. Therefore, there are so me questions about the use scenarios of forced update

0
0 77
讨论 (2)2
登录或注册以继续

Do you still expect some echo?
Or is the question meanwhile just out of date?

Production 重启的过程包括了关闭Production和启动Production。

关闭Production的过程需要把所有活动Job中的消息放入队列中,这个过程如果发生在业务量非常大的时候,也就是job非常多,每个job中的待处理消息很多的时候会花费很长时间。

而启动Production的过程会逆向关闭的过程,恢复关闭前的job以及的消息,同样这个时间与关闭production前业务繁忙、队列的大小有关。

当关闭的时间过长,会提示是否需要“强制”关闭production,如果强制关闭,后果就是无法保证恢复关闭production前的业务。

如果想等待或设置较长的等待时间,可以在terminal中执行 Ens.Director 类的StopProduction函数:

ClassMethod StopProduction(pTimeout As %Numeric = 10, pForce As %Boolean = 0) As %Status

第一个参数设置超时时间,第二个参数设置是否强制关闭。