Hello,
We are currently building a SAS Viya environment and need to schedule overnight (batch) jobs.
In our setup, batch jobs require access to certain secrets that should not be available in interactive user sessions. To handle this in Kubernetes, we have separated pod templates as follows: a compute pod template for interactive user sessions, and a batch pod template for batch jobs where the required secrets are mounted as files onto the pod.
Additionally, we have configured sas.batch.server (autoexec) with several libname statements to assign authenticated libraries when a batch session starts.
When users schedule jobs via SAS Studio or SAS Environment Manager, the jobs are executed using the Job Execution Launcher context, which currently uses the compute pod template. While we can modify this context to use the batch pod template, we are concerned that the sas.batch.server (autoexec) configuration may not be executed as part of these scheduled jobs.
To address this,
- Create a new batch context based on the Job Execution Launcher context
- Configure the Job Execution Launcher context to use the batch pod template
With this setup, any job execution from SAS Studio or SAS Environment Manager would use the Job Execution Launcher context, which in turn would use the batch pod template. This should also ensure that the sas.batch.server autoexec is triggered as part of the batch execution.
Could you please confirm whether this is a valid and recommended approach for separating batch and interactive workloads in SAS Viya? Also, how can we verify which context is being used for job execution, and what is the correct way to configure or enforce the use of a specific context (such as the new batch context) for scheduled jobs?
Finally, we would prefer not to use the SAS Viya CLI for submitting batch jobs. Is it possible to submit and schedule batch jobs via the UI, similar to how it is done in SAS 9?
Any guidance would be greatly appreciated.