第五十一章 Caché 命令大全 ZSYNC(旧版) 命令

文章目录

第五十一章 Caché 命令大全 ZSYNC(旧版) 命令

同步并强制结束当前作业的网络事务。

大纲

ZSYNC:pc

参数

  • pc 可选-后置条件表达式。

描述

注意:此页面描述了旧版ZSYNC命令。从Caché2010.2开始,ZSYNC命令被认为是旧命令,因为它的唯一用途是支持过时的分布式缓存协议(DCP)。 ZSYNC不应在新的编程中使用。此处仅出于与旧版应用程序兼容的目的对其进行描述。

ZSYNC同步并强制完成当前作业的所有网络事务的完成。还可以在以后可能在网络环境中运行的非网络应用程序中使用ZSYNC。只需将其放置在每笔完整交易的末尾即可。

ZSYNC确保如果通过LOCK操作同步了对全局(SETKILL操作)的多个更新,则对该全局的READ将以正确的顺序返回这些更新。它通过在网络上同步解锁操作来实现。当现有锁上发生解锁时,在启动解锁之前(在任何系统上)已启动的对全局的任何更新将在解锁完成之前完成。

注意:ZSYNC与分布式缓存协议(DCP)一起使用。 ZSYNC在为企业Caché协议(ECP)数据服务器配置的系统上不执行任何操作。 ECP使用同步提交事务来执行类似的同步功能。由于ECP通常与Caché服务器系统网络和群集一起使用,因此对ZSYNC的使用可能会受到限制。

参数

pc

可选的后置条件表达式。如果后置条件表达式为true(计算为非零数值),则Caché执行命令。如果后置条件表达式为假(计算为零),则Caché不执行命令。

注意

ZSYNC保证返回异步错误

根据请求的操作,在不同时间报告网络错误。同步操作的错误,例如LOCK$GET$ORDER$QUERY,会通过执行错误的命令上的常规错误陷阱立即报告。

异步操作的错误(例如SETKILL)可能立即报告,也可能会延迟报告。

延迟的错误是由于缓冲异步操作而返回的。当作业调用SETKILL时,在服务器上的操作完成时,处理可以在客户端上继续。在这种情况下,程序稍后可能会出现特殊的中断陷阱。返回的错误代码与服务器上最初发生的错误相同。

当使用ZSYNC命令同步客户端和服务器的活动时,将强制返回所有异步错误。也就是说,所有全局错误都会在ZSYNC命令完成之前返回到作业。可以使用%SYSTEM.Process类的AsynchError()方法控制异步错误是否可以在每个进程的基础上中断进程。可以通过设置Config.Miscellaneous类的AsynchError属性来建立系统范围的默认行为。

ZSYNC保证事务完成

ZSYNC命令使应用程序可以同步网络服务器上的活动。执行此命令将强制完成该JOB的所有网络事务。不要在完成所有服务器上所有全局节点归档的更新事务的末尾使用此命令,因为它会强制返回所有延迟的错误。换句话说,所有全局错误都会在ZSYNC命令完成之前传递到作业。

猜你喜欢

转载自blog.csdn.net/yaoxin521123/article/details/108115673