Я экспериментирую с Google AppEngine и пытаюсь загрузить файл с внешнего сервера на мой локальный компьютер с помощью простого скрипта загрузки в php, размещенного на AppEngine.
Пример кода приведен ниже:
header('Content-Type: "' . $mime . '"');
header('Content-Disposition: attachment; filename="' . $name . '"');
header("Content-Transfer-Encoding: binary");
header('Expires: 0');
header('Content-Length: '.$size);
header('Pragma: no-cache');
}
readfile($url);
Это работает нормально для небольшого размера файла. Но это не удается для больших файлов из-за 60-секундного ограничения времени выполнения GAE. Есть ли обходной путь для решения этой задачи?
я не могу добавить комментарий
откуда вы читаете файл, если он из Google Cloud Storage, то вы можете настроить свой контейнер как статический веб-сайт. прочитайте больше : https://cloud.google.com/storage/docs/website-configuration
и используйте ручное масштабирование
Запросы могут выполняться бесконечно. Масштабируемый вручную экземпляр может обрабатывать / _ah / запускать и выполнять программу или сценарий в течение многих часов без возврата кода ответа HTTP.
прочитайте больше :: о scaling_types в Google
Вы можете сохранить файл Google Cloud Storage, а затем получить доступ.
если я неправильно понимаю, извините, я также пытаюсь изучить Google AppEngine (php) с прошлого месяца: p еще один noob
Если файл хранится в GCS, вы можете подать файл напрямую без ограничения 60 с. Увидеть https://cloud.google.com/appengine/docs/php/googlestorage/public_access#serving_files_directly_from_google_cloud_storage Больше подробностей.