$projectid = pdo_real_escape_numeric($projectid); } @($force = $_GET['force']); } if (!is_numeric($projectid)) { echo "projectid/argv[1] should be a number\n"; echo "</pre>"; add_log("projectid '" . $projectid . "' should be a number", "ProcessSubmission", LOG_ERR, $projectid); return; } // Catch any fatal errors during processing // register_shutdown_function('ProcessSubmissionsErrorHandler', $projectid); echo "projectid='{$projectid}'\n"; echo "force='{$force}'\n"; if (AcquireProcessingLock($projectid, $force)) { echo "AcquireProcessingLock returned true\n"; ResetApparentlyStalledSubmissions($projectid); echo "Done with ResetApparentlyStalledSubmissions\n"; ProcessSubmissions($projectid); echo "Done with ProcessSubmissions\n"; DeleteOldSubmissionRecords($projectid); echo "Done with DeleteOldSubmissionRecords\n"; if (ReleaseProcessingLock($projectid)) { echo "ReleasedProcessingLock returned true\n"; } else { echo "ReleasedProcessingLock returned false\n"; } } else { echo "AcquireProcessingLock returned false\n"; echo "Another process is already processing or there was a locking error\n";
$pid = getmypid(); } else { // if pid was specified then this is a parallel request. $multi = true; } // Catch any fatal errors during processing // register_shutdown_function('ProcessSubmissionsErrorHandler', $projectid, $pid); echo "projectid='{$projectid}'\n"; echo "pid='{$pid}'\n"; echo "force='{$force}'\n"; if ($multi) { // multi processing, so lock was acquired in do_submit.php $lockAcquired = true; } else { $lockAcquired = AcquireProcessingLock($projectid, $force, $pid); } if ($lockAcquired) { echo "AcquireProcessingLock returned true\n"; ResetApparentlyStalledSubmissions($projectid); echo "Done with ResetApparentlyStalledSubmissions\n"; ProcessSubmissions($projectid, $pid, $multi); echo "Done with ProcessSubmissions\n"; DeleteOldSubmissionRecords($projectid); echo "Done with DeleteOldSubmissionRecords\n"; if (ReleaseProcessingLock($projectid, $pid, $multi)) { echo "ReleasedProcessingLock returned true\n"; } else { echo "ReleasedProcessingLock returned false\n"; } } else {
function trigger_process_submissions($projectid) { global $CDASH_USE_HTTPS, $CDASH_ASYNC_WORKERS; $currentURI = get_server_URI(true); if ($CDASH_ASYNC_WORKERS > 1) { // Parallel processing. // Obtain the processing lock before firing off parallel workers. $mypid = getmypid(); include 'include/submission_functions.php'; if (AcquireProcessingLock($projectid, false, $mypid)) { $url = $currentURI . '/ajax/processsubmissions.php'; $params = array('projectid' => $projectid, 'pid' => $mypid); for ($i = 0; $i < $CDASH_ASYNC_WORKERS; $i++) { curl_request_async($url, $params, 'GET'); } } } else { // Serial processing. $request = $currentURI . '/ajax/processsubmissions.php?projectid=' . $projectid; curl_request($request); } }