[MarkLogic Dev General] Multiple (sequential) CPF pipelines

Fox, David DFox at ap.org
Wed Aug 22 13:10:30 PDT 2012


Thanks for the responses so far. 

I created my own states and combined both transitions into a single pipeline:

<?xml-stylesheet href="/cpf/pipelines.css" type="text/css"?>
<pipeline xsi:schemaLocation="http://marklogic.com/cpf/pipelines pipelines.xsd" xmlns="http://marklogic.com/cpf/pipelines" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <pipeline-name>Query 1 and 2</pipeline-name>
  <success-action>
    <module>/MarkLogic/cpf/actions/success-action.xqy</module>
  </success-action>
  <failure-action>
    <module>/MarkLogic/cpf/actions/failure-action.xqy</module>
  </failure-action>
  <state-transition>
    <state>http://marklogic.com/states/initial</state>
    <on-success>http://ap.org/states/intermediate</on-success>
    <on-failure>http://marklogic.com/states/error</on-failure>
    <execute>
      <condition>
        <module>/MarkLogic/cpf/actions/namespace-condition.xqy</module>
        <options xmlns="/MarkLogic/cpf/actions/namespace-condition.xqy">
                    <root-element>items</root-element>
                    <namespace/>
                </options>
      </condition>
      <action>
        <module>q1.xqy</module>
      </action>
    </execute>
  </state-transition>
  <state-transition>
    <state>http://marklogic.com/states/intermediate</state>
    <on-success>http://ap.org/states/processed</on-success>
    <on-failure>http://marklogic.com/states/error</on-failure>
    <execute>
      <condition>
        <module>/MarkLogic/cpf/actions/namespace-condition.xqy</module>
        <options xmlns="/MarkLogic/cpf/actions/namespace-condition.xqy">
          <root-element>items</root-element>
          <namespace/>
        </options>
      </condition>
      <action>
        <module>q2.xqy</module>
      </action>
    </execute>
  </state-transition>
</pipeline>

And here are the CPF trace events from the log:

2012-08-22 15:54:22.276 Info: [Event:id=CPF Action Invoke] on-status-enter docs.xml updated /MarkLogic/cpf/actions/set-updated-action.xqy
2012-08-22 15:54:23.094 Info: [Event:id=CPF Action Complete] on-status-enter docs.xml updated PT3.595S
2012-08-22 15:54:23.865 Info: [Event:id=CPF Action Invoke] on-status-enter docs.xml created /MarkLogic/cpf/actions/touch-state-action.xqy
2012-08-22 15:54:27.058 Info: [Event:id=CPF Action Complete] on-status-enter docs.xml created PT4.878S
2012-08-22 15:54:27.058 Info: [Event:id=CPF on-state-enter] docs.xml http://marklogic.com/states/initial
2012-08-22 15:54:27.074 Info: [Event:id=CPF Action Invoke] on-state-enter docs.xml http://marklogic.com/states/initial /apms-tag.xqy
2012-08-22 15:54:37.506 Info: [Event:id=CPF on-state-enter] docs.xml http://ap.org/states/intermediate
2012-08-22 15:54:37.506 Info: [Event:id=CPF Action Invoke] on-state-enter docs.xml http://ap.org/states/intermediate /MarkLogic/cpf/actions/success-action.xqy
2012-08-22 15:54:37.506 Info: [Event:id=CPF Action Complete] on-state-enter docs.xml http://marklogic.com/states/initial PT10.448S
2012-08-22 15:54:37.747 Info: [Event:id=CPF Action Complete] on-state-enter docs.xml http://ap.org/states/intermediate PT0.241S


I'm not sure I completely understand the above -- but I would think there should be a final 'on-state-enter' that changes it from 'intermediate' to 'processed'

As for the suggestion to simply merge the xqueries and use the single pipeline. For whatever reason I had not thought of this, but I'll give that a shot. 

I'd still like to know how to get two pipelines working, though. It just seems useful.





The information contained in this communication is intended for the use
of the designated recipients named above. If the reader of this 
communication is not the intended recipient, you are hereby notified
that you have received this communication in error, and that any review,
dissemination, distribution or copying of this communication is strictly
prohibited. If you have received this communication in error, please 
notify The Associated Press immediately by telephone at +1-212-621-1898 
and delete this email. Thank you.
[IP_US_DISC]

msk dccc60c6d2c3a6438f0cf467d9a4938



More information about the General mailing list