} } } // List all job to do in the queue folder foreach (glob(get_ini('UPLOAD_FOLDER') . "queue/*.xml") as $jobName) { $fileFullPath = str_replace('\\', '/', $jobName); $jobName = substr($jobName, strrpos($jobName, '/') + 1, strlen($jobName) - strrpos($jobName, '/') - 1); // Valid the xml file with XSD $domXmlFile = new DOMDocument(); $domXmlFile->preserveWhiteSpace = false; $domXmlFile->Load(get_ini('UPLOAD_FOLDER') . 'queue/' . $jobName); if ($domXmlFile->schemaValidate('plugins/core/xsd/core.xsd')) { if ($procM->getId($jobName) == 0) { $childProcId = $procM->create(0, $jobName, '', 10); usleep(500); if ($procM->getCount($jobName) > 1) { // Wait some millisecond to avoid concurent write usleep(mt_rand(100, 20000)); if ($procM->getCount($jobName) > 1) { $procM->delete($childProcId); exit(0); } } echo _('#core#_#18#') . ' ' . $jobName . '.<BR>'; $proc = new processus($childProcId); $procM->update($proc->id, 'running', '2'); if (file_exists(get_ini('UPLOAD_FOLDER') . 'running/' . $jobName)) { unlink(get_ini('UPLOAD_FOLDER') . 'running/' . $jobName); } rename(get_ini('UPLOAD_FOLDER') . 'queue/' . $jobName, get_ini('UPLOAD_FOLDER') . 'running/' . $jobName); // Get header data