UpdateStatus is used inside Batch Jobs to relay specific information about what is happening inside the Batch Job while it is running. It can be used in conjunction with GetStatus to view the data that UpdateStatus reports, or you can query EP_Profile_Configuration_Instance_BatchRuns using the WindowsProcessId returned by StartBatchJob or GetStatus to view those records as well. This is because the service saves records to this database table. Because of this, the type of input for each service input is limited to the table column’s datatype.
Batch Jobs are processes that can be scheduled to run. They run outside of user interaction and are not initiated by button clicks or page loads like most processes unless you use StartBatchJob.
For example, if a user clicks a button that updates a database record and the process of doing this update takes five minutes, the site will wait for the process to finish before forwarding the user to the next page. This can be a problem because the user will be stuck waiting for the process to finish. This is also an issue because the page will only wait so long before it times out. StartBatchJob can be used to eliminate this problem because the Batch Job will run in the background once it is kicked off by the service.
This is useful in situations where you want to manually start a Batch Job because some business requirement will not allow you to schedule the Batch Job to run at the same time every day or every week, or in a case where the Job needs to run now but its not scheduled to run until late in the night.