Deployment scripts
- Last UpdatedJul 31, 2024
- 2 minute read
Deploying objects is both a critical and a load-intensive process for a Galaxy. Implementing scripting in the Startup and OnScan methods can adversely affect a Galaxy’s deployment and redundancy performance.
While objects are being deployed, their Startup and, if deployed OnScan scripts are executed. These scripts must complete within the deployment time-out period for the deployment to be successful.
Placing large numbers of scripts, or scripts that require heavy processing power into the Startup or OnScan script methods can slow or cause a deployment or failover to fail. In addition to the load that is placed on the system at deployment time, the type of scripting done in the Startup and OnScan methods is also important because these scripts execute in a sequence.
Deployment scripts for redundant AppEngines
When writing a deployment script that will run on redundant AppEngines, be sure to account for the mode in which the redundant engines will run. Redundant engines can be set to run in either Legacy Mode or Run Warm Mode.
-
The selected redundancy mode, Legacy or Run Warm, does not change the behavior of OnScan scripts for redundant engines.
-
The selected redundancy mode may change the behavior of Startup scripts. See Startup scripts for more information about the differences in script execution between modes.
Note: The warm redundancy feature was introduced in System Platform 2020 R2 SP1. New redundant engines default to Run Warm Mode. Galaxies with redundant engines that were created prior to System Platform 2020 R2 SP1 and migrated to the current System Platform version default to Legacy Mode.
During deployment and restart, the Startup and OnScan script methods do not execute objects based on execution order. Objects are started up and placed on scan based on their alphanumeric tag name within their hosting Area.
Follow the recommendation below for each type of script method to help determine what scripting practices to follow in each script method.
Do not place the following types of scripting in the Startup or OnScan methods:
-
Database access
-
File system access to .csv, .xml, .txt, and other file types
-
Off-object referencing
-
Dynamic referencing