2 Replies Latest reply on Jul 2, 2013 7:42 AM by prasharm

    How to check whether process is completed successfully or stalled programmatically?

    rajuk1

      Hi,

       

      How to check whether process is completed successfully or stalled by programmatically?

      Also how to get the stalled process list or stalled operations list?

       

      Thanks,

      rajuk

        • 1. Re: How to check whether process is completed successfully or stalled programmatically?
          Bibhu Bikash Nayak Level 4

          Hi Rajuk,

           

          You can check that by a JDBC operation. Create a new process. Drag an activity picker. Select Query for Multiple Rows as XML from category Foundation. In input select data source name. By default java:/IDP_DS. In the SQL statement write select * from tb_process_instance. Click ok. Click on XML information. Then click on Process meta data. A table will be created. Then you will see the 7th row says about Status. This will be a numeric value. Depending upon the numeric value you can see the status of the process. Now click test. You will see XML nodes will be created Where you can see the process status.

           

          In order to know about a particular status uou can take a variable as input. You can do a string operation to get that input of the process name. The process name in the table is service_name. Then you can use setValue opeartion and put some condition so that it will show the status of the process as output.

           

          Hope this helps.

           

          Thanks,

          Bbhu.

          • 2. Re: How to check whether process is completed successfully or stalled programmatically?
            prasharm

            You can create a process as per below description:

            Use "Query single row" component in workbench and execute below mentioned query:

            select status from tb_process_instance where long_lived_invocation_id = '{$ /process_data/@InstanceID $}';

            (where "InstanceID" is a string type input variable for this process).

            The above query would give you status of the Process instance you would provide as input.
            This status would be in number:

            1 Running
            3 Completed

            You can create conditional routes in your process based on the status number you get.

            If you need to do this programmatically, you can invoke this process as a web service.

            Regarding your other query, there are several ways an operation can be stalled and based on those scenarios different queries are required to get the status from the database.
            So, you need to figure out which stall scenario you want to target specifically, else adminui would be better option.