I am working on scaling our deployment strategy and I was wondering if anybody has found, similar to me, that methods cache at runtime when called from a remote network location?
For example: I stored my method files on a NAS on the LAN and the layout files on the local PC. I then launched and executed a multi-hour method and found that we had no problems executing methods this way. Further we even tested the robustness of this by unplugging the Ethernet cable during the middle of the run and found that the method continued to execute just fine even when I severed the connection to the remote repo of the method files.
That leads me to believe that some (or all?) of the method is cached on the local machine at runtime.
Does anybody have successful experience calling remote methods onto a local machine and were your findings the same as mine? How about unsuccessful experiences?
That leads me to believe that some (or all?) of the method is cached on the local machine at runtime.
Run control compiles the method and any method dependencies at runtime.
This compilation process performs the syntax checking when a method is launched/loaded in Run Control.
Many HSL libraries have #ifndef / #ifdef preprocessor directives that define library include dependencies to be loaded only at runtime. The HSLSeqLibrary implements these were the interface is defined when not at runtime, and the HSLStrLib is included when runtime is detected.
This compilation is also why any changes in .hsl files aren’t recognized without closing and relaunching Run Control. Run Control prevents updates to Method or Sub-Method files when Run Control is launched from the Method Editor.
The runtime (or not) preprocessors implemented may make it necessary to right-click the Toolbox and select Add/Remove > Library to load updates made to .hsl files.
Essentially, the method and all of its dependencies are loaded when a method is selected and passes the compilation and syntax checking functions in Run Control - at that point, it has compiled everything it needs to execute to completion, assuming it can still access any non-local locations as needed for input files referenced or output files generated during a method.
In Run Control: Enable the HSL Debugger with the Hamilton Support Software. In Run Control the files will be listed in the left hand side of the HSL Debugger Window