Hi Grace Tong,
Generally, start task is mainly used to install the applications required for task execution.
The start task runs every time a node starts, for as long as it remains in the pool. This includes when the node is first added to the pool and when it is restarted or reimaged. When a low-priority node is preempted and later reallocated, Azure Batch reimages the node to its original state.
To overcome your current challenge, try using pre-packaged custom image to allocate batch node. This might eliminate the need for repetitive installations or configurations during node startup.
Please verify the similar workaround shared here for more comprehensive information of using a custom image to ensure installations persist on Azure Batch nodes. https://techcommunity.microsoft.com/blog/azurepaasblog/how-to-apply-custom-image-while-creating-batch-pool-and-node-for-python-runtime/3458579
Please check below documentation for more information,
https://learn.microsoft.com/en-us/azure/batch/batch-custom-images
https://learn.microsoft.com/en-us/azure/batch/jobs-and-tasks#start-task
If the information is helpful, please click on "Upvote"
If you have any queries, please do let us know, we will help you.