/** * Create / process releases for a groupID. * * @param Settings $pdo * @param ProcessReleases $releases * @param int $groupID */ function processReleases($pdo, $releases, $groupID) { $releaseCreationLimit = $pdo->getSetting('maxnzbsprocessed') != '' ? (int) $pdo->getSetting('maxnzbsprocessed') : 1000; $releases->processIncompleteCollections($groupID); $releases->processCollectionSizes($groupID); $releases->deleteUnwantedCollections($groupID); do { $releasesCount = $releases->createReleases($groupID); $nzbFilesAdded = $releases->createNZBs($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 || $nzbFilesAdded >= $releaseCreationLimit); $releases->deleteCollections($groupID); }