예제 #1
0
function fileValid($bucket, $file, $interval)
{
    syslog(LOG_DEBUG, "fileValid: file " . $file);
    try {
        if (fileExists($bucket, $file)) {
            $mTime = lastModifiedTime($bucket, $file);
            $date = new DateTime();
            $curTime = $date->getTimestamp();
            if ($curTime - $mTime < $interval) {
                return true;
            }
        }
        return false;
    } catch (Exception $e) {
        syslog(LOG_ERR, $e->getMessage());
        return false;
    }
}
 */
// FB usually resets search quotas after 1 hr. Do every search at least 1 hr apart.
$interval = 3600;
// 1 hr
$proceed = true;
if (fileExists($bucket, $eventsFile)) {
    $mTime = lastModifiedTime($bucket, $eventsFile);
    $date = new DateTime();
    $curTime = $date->getTimestamp();
    if ($curTime - $mTime < $interval) {
        $proceed = false;
    }
}
if ($proceed) {
    if (fileExists($bucket, $pagesFile)) {
        $mTime = lastModifiedTime($bucket, $pagesFile);
        $date = new DateTime();
        $curTime = $date->getTimestamp();
        if ($curTime - $mTime < $interval) {
            $proceed = false;
        }
    }
}
if ($proceed) {
    $pages = array();
    fbBatchSearch($pages, $fb, $pageSearchStrings, 'nextFullBatchPages', 'validatePage');
    $pagesContent = json_encode($pages);
    if (storeGCS($pagesContent, $bucket, $pagesFile) != 0) {
        syslog(LOG_ERR, "Failed to store " . $pagesFile);
    }
    if (count($pages) > 0) {