/** * @param FileSyncKey $key * @return bool */ public static function shouldExport(FileSyncKey $key, StorageProfile $externalStorage) { KalturaLog::log(__METHOD__ . " - key [{$key}], externalStorage id[" . $externalStorage->getId() . "]"); list($kalturaFileSync, $local) = kFileSyncUtils::getReadyFileSyncForKey($key, false, false); if (!$kalturaFileSync) { KalturaLog::log(__METHOD__ . " key [{$key}] not found localy"); return false; } KalturaLog::log(__METHOD__ . " validating file size [" . $kalturaFileSync->getFileSize() . "] is between min [" . $externalStorage->getMinFileSize() . "] and max [" . $externalStorage->getMaxFileSize() . "]"); if ($externalStorage->getMaxFileSize() && $kalturaFileSync->getFileSize() > $externalStorage->getMaxFileSize()) { KalturaLog::log(__METHOD__ . " key [{$key}] file too big"); return false; } if ($externalStorage->getMinFileSize() && $kalturaFileSync->getFileSize() < $externalStorage->getMinFileSize()) { KalturaLog::log(__METHOD__ . " key [{$key}] file too small"); return false; } $storageFileSync = kFileSyncUtils::getReadyPendingExternalFileSyncForKey($key, $externalStorage->getId()); if ($storageFileSync) { KalturaLog::log(__METHOD__ . " key [{$key}] already exported or being exported"); return false; } return true; }