nohup nice +6 ...
.
CSCF has already copied a particular state of pub_test_request
so that it will automatically be available in the standard PATH for all students on student.cs
systems. The question of how to push future updates to this command has still not been answered.
The question is whether or not they should take on more involvement. Right now, pub_test_request
calls a command that must be put on the course accounts manually to get setuid status before calling pub_test_logger
. Instead, it should be possible for this to run as root and drop down to course account permissions to run pub_test_logger
without an executable being placed on the course accounts. This would simplify use of the command from the instructional standpoint.
The other potential involvement would be for the pub_test_runner
executables. Right now, every course launches N of these on each server, where N is the number of processors on that server. Most of the time, these processes are idling and doing unnecessary polling. Instead, it should be possible for root to launch this pool of processes, and for each of them to drop down to the appropriate course to search for requests and service them if necessary. Again, this decreases the burden on the course accounts in terms of monitoring daemon status; however, it does mean that the pollers need to do more work (read configuration files on each account dropdown, check appropriate directory vs. reading configuration once at startup; the advantage though is automatic configuration refresh).
There is also the issue that the intent is for each course to choose a particular platform on which to launch the test runners. Root would have to run them on all platforms, and then the course configuration would need a way to state which server family it wanted requests serviced on so only the appropriate runner would take action.
The issue is there would be a weird interplay between the portion of the public tests under CSCF's umbrella and the portion under ISG's umbrella; however, this already exists with the absorption of pub_test_request
.