LSSTApplications  8.0.0.0+107,8.0.0.1+13,9.1+18,9.2,master-g084aeec0a4,master-g0aced2eed8+6,master-g15627eb03c,master-g28afc54ef9,master-g3391ba5ea0,master-g3d0fb8ae5f,master-g4432ae2e89+36,master-g5c3c32f3ec+17,master-g60f1e072bb+1,master-g6a3ac32d1b,master-g76a88a4307+1,master-g7bce1f4e06+57,master-g8ff4092549+31,master-g98e65bf68e,master-ga6b77976b1+53,master-gae20e2b580+3,master-gb584cd3397+53,master-gc5448b162b+1,master-gc54cf9771d,master-gc69578ece6+1,master-gcbf758c456+22,master-gcec1da163f+63,master-gcf15f11bcc,master-gd167108223,master-gf44c96c709
LSSTDataManagementBasePackage
Example demonstrating the use of EventStage to issue outgoing events

This example is found in pex_harness/examples/eventstage . The eventstage example demonstrates how a Pipeline can send data on the Clipboard to another running pipeline by issuing an outgoing event. This functionality is encapsulated in the EventStage class of the pex_harness.

The current pipeline example has 2 application stages:

The initial App1Stage is a dummy application stage that places data on the Clipboard under a designated key (denoted "outgoingKey" in this case). Prior to running the example, the full path to the directory pex_harness/examples/stages should be added to the PYTHONPATH:

% export PYTHONPATH ${PWD}/../stages:${PYTHONPATH} (bash)
% setenv PYTHONPATH ${PWD}/../stages:${PYTHONPATH} (tcsh)

The eventstage policy file (policy/eventstage.paf) is then configured to output the data under this key in an event. The notation

keysToPublish: "outgoingEvent=outgoingKey"

signals that the key "outgoingKey" is pulled from the Clipboard and its contents issued within an event of topic "outgoingEvent".

A utility script "listenEvent.py" may first be executed in a separate shell to start up a listener that blocks for an event of topic outgoingEvent.

% python listenEvent.py

By default this example will run with the Pipeline with one Slice on a single node. Edit the MPI machinefile "nodelist.scr" to specify the hostname of the current host.

The pipeline is then executed via

% launchPipeline.py eventstage_pipeline_policy.paf <some-run-id>

such as

% launchPipeline.py eventstage_pipeline_policy.paf test_23

if an ActiveMQbroker other than the LSST default (lsst8.ncsa.uiuc.edu) is used, this needs to be specified in the pipeline policy file (under "eventBrokerHost") and the listener python script.