Use .LOCKED file or similar while IE export is still in progress
When exporting large IEs with multiple REPs, it is hard to tell whether the export is finished or not. This becomes especially problematic when running an external automatic job which pulls IEs from the export directory before export has actually been completed.
It would be beneficial to flag a partially exported IE, e.g. via a .LOCKED file which is deleted once the export is complete.
-
Michelle Lindlar commented
We will look into the Webservice for automatic processes though. Thanks for pointing this out!
-
Michelle Lindlar commented
Hi Hörg. Thanks for your comment! The problem is that we want to use the UI based process for staff users who aren't capable to write code to interface with the system.
Since there already are export routines included within the UI (for both single IE exports out of the permanent webeditor as well as batch processes) but there is unfortunately no way to see when they are complete, we thought that this might be useful. -
Jörg Sachse commented
ADDENDUM:
In Linux, you can also use inotify to trigger actions based on certain events that happen in the filesystem. -
Jörg Sachse commented
Unless I'm missing anything, you can use the exportIE() WebService, which returns an exportIEResponse. This Response is of the type exportEntityInfo, which contains the fullExportPath and a processExecutionId. This ID can be used to query the getProcessExecutionStatus() and get a getProcessExecutionStatusResponse of the type processExecutionStatusInfo, which contains all the information that you would need.
As far as I can see, this would solve your use case for automated workflows, where external jobs would pull IEs for further processing. These external jobs could query Rosetta for the status of the export before triggering further actions.
Sources:
- https://developers.exlibrisgroup.com/rosetta/apis/datamanagerservicesws/
- http://<repository-load-balancer-host>:<port>/dpsws/repository/DataManagerServicesWS?wsdl