/**
  * @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;
 }