Name
pub_test_runner — Attempts to pass public test work to course accounts
Synopsis
pub_test_runner
{
procID
}
Usage
This command is typically launched from
pub_test_launch, in which case a number of
pub_test_runner processes are left on all of the servers specified in
server_list
.
The single parameter specifies a unique ID for this process, which it uses to identify itself in log files.
Description
This program loops forever. It sleeps between processing requests for a random amount of time, which is very short if it's recently processed a student request, or up to one to three minutes if it has not. As there are normally a large number of processes resident across the servers, this normally does not translate into a very long waiting time for students after they make their requests (typically several seconds). Every time it wakes up, it checks to see if any requests have been left by
pub_test_logger, and will sleep again if not.
If a request is found, the test runner will attempt to connect to the course account for which the request was made. If it can connect, it will then attempt to confirm if it is one of the courses listed in the course's
test_servers
in
.rstrc
. If it is it will try to obtain the lock on the test request file; if it does, it will create a file
/u/isg/publictest_request_files/requests/csXXX
.userid
.assignment
.request.running
, and will delete that when
ca_pub_test_service has finished completely.
Topic revision: r1 - 2016-01-11
- YiLee