Follow-up for anyone interested, as I was able to eliminate virtually all the processing delays I had due to the individual apps issue with this work-around:
In our ood dashboard initializer
/etc/ood/config/apps/dashboard/initializers/ood.rb I have added code for some static classes as suggested by Jeff. In case anyone is curious on our implementation; here is the first one gets all the users visible Slurm partitions:
require 'open3' # Required for capture3 command line call
class CustomQueues ### GET PARTITIONS FOR THIS USER ###
@queues ||= begin
# here's the logic to return an array of strings
sinfo_cmd = "/opt/apps/slurm/prod/bin/sinfo"
args = ["--noheader","-o=\"%R\""]
@partitions_available = 
o, e, s = Open3.capture3(sinfo_cmd , *args)
o.each_line do |v|
# call these once during the initiazlier so that it'll be cached for later.
This data is then consumed in our apps form.yml.erb as like so:
<%- CustomQueues.queues.each do |g| %>
- "<%= g %>"
<%- end %>
I’ve done another to populate application versions from LMOD Spider json data. If anyone is interested in it I can post it as well.
Thanks again to @jeff.ohrstrom for the help!