/** * Create / process releases for a groupid. * * @param \Releases $releases * @param int $groupID */ function processReleases($pdo, $releases, $groupID) { $pdo = new Settings(); $releaseCreationLimit = $pdo->getSetting('maxnzbsprocessed') != '' ? (int) $pdo->getSetting('maxnzbsprocessed') : 1000; $releases->checkRegexesUptoDate($pdo->getSetting('latestregexurl'), $pdo->getSetting('latestregexrevision'), $pdo->getSetting('newznabID')); $releases->applyRegex($groupID); $releases->processIncompleteBinaries($groupID); do { $releasesCount = $releases->createReleases($groupID); // This loops as long as the number of releases or nzbs added was >= the limit (meaning there are more waiting to be created) } while ($releasesCount['added'] + $releasesCount['dupes'] >= $releaseCreationLimit); $releases->deleteBinaries($groupID); }
<?php require "config.php"; require_once WWW_DIR . "/lib/groups.php"; require_once WWW_DIR . "/lib/binaries.php"; require_once WWW_DIR . "/lib/releases.php"; require_once WWW_DIR . "/lib/site.php"; require_once WWW_DIR . '/lib/powerprocess.php'; $s = new Sites(); $releases = new Releases(); $site = $s->get(); if ($site->newznabID == "") { echo "Warning : No Newznab ID present. Check Admin > Site Edit\n"; } $releases->checkRegexesUptoDate($site->latestregexurl, $site->latestregexrevision, $site->newznabID); $groups = new Groups(); $groupList = $groups->getActive(); unset($groups); $ps = new PowerProcess(); $ps->RegisterCallback('psUpdateComplete'); $ps->maxThreads = 10; $ps->tickCount = 10000; // value in usecs. change this to 1000000 (one second) to reduce cpu use $ps->threadTimeLimit = 0; // Disable child timeout echo "Starting threaded binary update process\n"; //while ($ps->runParentCode()) while ($ps->RunControlCode()) { // Start the parent loop if (count($groupList)) { // We still have groups to process