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
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback