- 论坛徽章:
- 0
|
http://www.wohedb.com/db_html_doc/rep_guide/rep_2_slonik.htm
http://www.wohedb.com 中文数据库管理系统
2.4.26 WAIT FOR EVENT命令
名字
WAIT FOR EVENT -- 等待一个事件处理完毕以后再执行下一条命令
语法
WAIT FOR EVENT (options);
描述
WAIT FOR EVENT命令等待一个事件处理完毕以后再执行下一条命令。slonik在执行脚本的过程中会记住在每个节点上产生的最近一个事件。在某些情况下,只有在一个节点上产生的事件被所有的其它的节点都处理以后,才能执行下一条命令,例如,只有在CREATE SET命令在每个节点上都被处理以后才能执行SUBSCRIBE SET命令。
不能在try语句里面调用WAIT FOR EVENT 命令。
命令的参数如下:
(1)ORIGIN = ival | ALL
被等待的事件的源节点的编号,ALL表示集群里面所有的节点。
(2)CONFIRMED = ival | ALL
必须确认事件已被处理的节点的编号,ALL表示集群里面所有的节点。
(3)WAIT ON = ival
节点的编号,将会检查该节点的系统表sl_confirm 中的数据。
(4)TIMEOUT = ival
等待的时间。单位是秒,默认是600。0表示永远等待下去。
例子
WAIT FOR EVENT (
ORIGIN = ALL,
CONFIRMED = ALL,
WAIT ON = 1
);
WAIT FOR EVENT命令通常与SUBSCRIBE SET和SYNC命令一起使用。因为SUBSCRIBE SET命令通常立即就会返回,而不会等到订阅节点完全地准备好复制数据再返回。例如:
SUBSCRIBE SET (ID = 999, PROVIDER = 1, RECEIVER = 2);
WAIT FOR EVENT (ORIGIN = 1, CONFIRMED = ALL, WAIT ON=1);
SUBSCRIBE SET (ID = 999, PROVIDER = 1, RECEIVER = 3);
WAIT FOR EVENT (ORIGIN = 1, CONFIRMED = ALL, WAIT ON=1);
SYNC (ID=1);
WAIT FOR EVENT (ORIGIN = 1, CONFIRMED = ALL, WAIT ON=1);
MERGE SET ( ID = 1, ADD ID = 999, ORIGIN = 1 );
2.4.27 SYNC命令
名字
SYNC -- 产生一个SYNC事件
语法
SYNC (options);
描述
SYNC命令在指定的节点上产生一个SYNC事件。
命令的参数如下:
(1)ID = ival
产生SYNC事件的节点的编号。
例子
SUBSCRIBE SET (ID = 10, PROVIDER = 1, RECEIVER = 2);
WAIT FOR EVENT (ORIGIN = 2, CONFIRMED = 1);
SYNC (ID = 1);
WAIT FOR EVENT (ORIGIN = 1, CONFIRMED = 2);
2.4.28 SLEEP命令
名字
SLEEP -- 睡眠指定的时间
语法
sleep [ seconds]
描述
SLEEP命令告诉slonik睡眠指定的时间。
例子
sleep (seconds = 5);
[ 本帖最后由 postgres_fan 于 2009-5-17 10:13 编辑 ] |
|