|ORIGIN = ival | ALL|
|The origin of the event(s) to wait for.|
|CONFIRMED = ival | ALL|
|The node ID of the receiver that must confirm the event(s).|
|WAIT ON = ival|
|The ID of the node where the sl_confirm table is to be checked.|
|TIMEOUT = ival|
|The number of seconds to wait. Default is 600 (10 minutes). TIMEOUT = 0 causes the script to wait indefinitely.|
WAIT FOR EVENT ( ORIGIN = ALL, CONFIRMED = ALL, WAIT ON = 1 );
No application-visible locking should take place.
This command was introduced in Slony-I 1.0
In version 2.0, the default value for WAIT ON was removed, so a node must be specified.
Not all events return interesting results. For instance, many people have run afoul of problems with SLONIK SUBSCRIBE SET(7), when subscribing a new set. Be aware (and beware!) that a SLONIK SUBSCRIBE SET(7) request will return the event confirmation almost immediately, even though there might be several hours of work to do before the subscription is ready. The trouble with SLONIK SUBSCRIBE SET(7) is that it is processed as two events, one on the origin node, with a second event, to enable the subscription, on the subscriber.
In order to more reliably monitor from within a slonik(1) script that SLONIK SUBSCRIBE SET(7) is complete, you may submit a SLONIK SYNC(7) event after the subscription, and have the WAIT request wait on the SYNC event, as follows.
# Assuming that node 1 is the origin for set 999 that has direct subscribers 2 and 3 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); MERGE SET ( ID = 1, ADD ID = 999, ORIGIN = 1 );
|SLONIK WAIT FOR EVENT (7)||18 January 2015|