18 require_once (dirname(__FILE__) .
'/../php/pathinclude.php');
21 require_once (
"$WEBDIR/common/common.php");
23 error_reporting(E_NOTICE & E_STRICT);
31 function AddReunpackjob ($uploadpk,$Depends=NULL,$priority=0)
37 $Job_name = str_replace(
"'",
"''",
"unpack");
39 $SQLInsert =
"INSERT INTO job
40 (job_queued,job_priority,job_name,job_upload_fk) VALUES
41 (now(),'$priority','$Job_name','$uploadpk');";
43 $SQLcheck =
"SELECT job_pk FROM job WHERE job_upload_fk = '$uploadpk' AND job_name = '$Job_name' AND job_user_fk is NULL;";
44 $Results = $DB->Action($SQLcheck);
45 if (empty($Results)) {
46 $DB->Action($SQLInsert);
47 $SQLcheck =
"SELECT job_pk FROM job WHERE job_upload_fk = '$uploadpk' AND job_name = '$Job_name' AND job_user_fk is NULL;";
48 $Results = $DB->Action($SQLcheck);
50 $jobpk = $Results[0][
'job_pk'];
52 if (empty($jobpk) || ($jobpk < 0)) {
return(
"Failed to insert job record! $SQLInsert"); }
53 if (!empty($Depends) && !is_array($Depends)) { $Depends = array($Depends); }
56 $jqargs =
"SELECT pfile.pfile_sha1 || '.' || pfile.pfile_md5 || '.' || pfile.pfile_size AS pfile,
59 INNER JOIN pfile ON upload.pfile_fk = pfile.pfile_pk
60 WHERE upload.upload_pk = '$uploadpk';";
61 $jobqueuepk =
JobQueueAdd($jobpk,
"unpack",$jqargs,
"no",
"pfile",$Depends,1);
62 if (empty($jobqueuepk)) {
return(
"Failed to insert item into job queue"); }
72 $SQL =
"SELECT job_pk,jq_pk,job_upload_fk FROM jobqueue
73 INNER JOIN job ON jq_job_fk = job_pk
74 WHERE jq_end_bits = 0 AND jq_starttime IS NOT NULL AND jq_endtime IS NULL AND job_name NOT IN('unpack','wget','fo_notify')
76 $Results = $DB->Action($SQL);
78 while(!empty($Results[$i][
'job_pk'])) {
79 $jq_parent = AddReunpackjob($Results[$i][
'job_upload_fk']);
81 $jq_child = $Results[$i][
'jq_pk'];
82 JobQueueAddDependency($jq_child,$jq_parent);
cli_Init()
Initialize the fossology environment for CLI use. This routine loads the plugins so they can be use b...
JobQueueAdd($job_pk, $jq_type, $jq_args, $jq_runonpfile, $Depends, $host=NULL, $jq_cmd_args=NULL)
Insert a jobqueue + jobdepends records.