6 Replies Latest reply on Sep 9, 2010 2:56 AM by 754501

    Killing Batch Processes

    263770
      I've created a script that runs a ML batch process (up-to-load) for several periods via one location. However, I'm getting an error message on completion of the first period that it's failed to load due to a member not being avaialble in Essbase. This error will apply to all periods but as each period takes about 2 hours to complete I want to kill the batch process when the first error is known. I don't want the remaining periods to run through FDM (would take a further 6+ hours) as it would be a waste of time and delay any re-runs. Is there a way of killing a batch process safely?
        • 1. Re: Killing Batch Processes
          TonyScalese
          You can kill upsappsv.exe on the FDM app server. This will end the process but be aware that if there are other users on and you kill all the upsappsv processes, it will end their work as well.
          1 person found this helpful
          • 2. Re: Killing Batch Processes
            263770
            Thanks Tony.
            I have seen this process running in the past on the app server but it's not visible at present. Does this only show when running a full up-to-load process involving FDM validation. Currently I'm just running the export/load batch element and I'm assuming something else must happen in this scenario. I've definitely confirmed that the process in table tbatch is still running in the background.
            • 3. Re: Killing Batch Processes
              TonyScalese
              The presence of a record in the batch table indicating something is not complete does not mean it is still running. This can happen if the batch fails for some reason. If the process showing under windows task manager, the application is not currently performing any step. Check your error logs.
              • 4. Re: Killing Batch Processes
                263770
                Thanks for your continued help. Just so I fully understand, are you saying that the following steps occur when running any batch process e.g. Parallel ML Export/Load only for 2 periods:

                1/ When the batch is submitted, a upsappsv.exe kicks off on the app server and TBATCH table creates a relevant BatchID and associated _P1 etc details.

                In the event of a successful load upsappsv.exe completes and there are no error messages outputted. The TBATCH table throughout this would have shown a 50% PERCENTCOMPLETE status for period 1 and 100% for period 2.

                In the event of the first part failing, the upsappsv.exe continues running the remaining periods and an error message is outputted accordingly. If you look at the TBATCH table it'll show 50% PERCENTAGECOMPLETE. The TBATCH table continues to show other periods and increases the associated percentage. We also continue to get output files created and error messages for later periods.

                Apologies on my part as I wasn't looking at all Users in Task Manager and couldn't therefore see the upsappsv.exe tasks running originally. In the event of a failure, I can just end all these tasks and that'll kill the processing. I'm assuming the database table TBATCH won't get updated and will always show the % position at the time of killing. Also, any Temp tables would need to be dropped.

                Once again, may I thank you for your continued help in this matter.

                Edited by: malcolmbake on 08-Sep-2010 09:00
                • 5. Re: Killing Batch Processes
                  AJYADAV
                  You can also set the batchpercentcomplete to 1. this will clear the processes. this tells FDM not to run the process anymore.
                  Cheers! AJ
                  • 6. Re: Killing Batch Processes
                    754501
                    AJ, Batchpercentcomplete can be a good check to confirm the completion of a Batch, but setting it to 1 will not stop the process if its still active. Killing the upsapps process in the server ensures killing of the batch.
                    1 person found this helpful