2014-10-03 3 views
1

Я экспериментирую с Google AppEngine и пытаюсь загрузить файл с внешнего сервера на локальный компьютер, используя простой скрипт загрузки в php, размещенный в AppEngine.Загрузите большой файл с внешнего сервера с помощью Google AppEngine с помощью php

Пример фрагмента кода выглядит следующим образом:

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. Существует ли какое-либо решение для решения этой задачи?

+0

Возможный дубликат [Увеличить срок выполнения в Google приложении] (http://stackoverflow.com/questions/12593014/increase-execution-time-limit-in-google-app-engine) – magnetik

+0

@magnetik as user закачки в GCS освобождаются от ограничения на 60 секунд, я ищу решение, подобное этому, но для загрузки файлов. – Akhilesh

+0

В PHP время загрузки пользователя ограничено max_input_time (оно вводится со стороны PHP), и это отличается от времени выполнения, поэтому это дубликат ^^ – magnetik

ответ

1

я не могу добавить комментарий

откуда вы читаете файл, если его из Google Cloud Storage, то вы можете настроить ведро в качестве статического сайта. читать далее: https://cloud.google.com/storage/docs/website-configuration

и использовать ручной Scaling

запросов может работать бесконечно. Экземпляр с ручным масштабированием может выбрать обработку/_ah/start и выполнение программы или скрипта в течение многих часов без возврата кода ответа HTTP.

читать :: about scaling_types on google

вы можете сохранить файл Google Cloud Storage затем доступа.

, если я неправильно извиняюсь я также пытаюсь узнать Google AppEngine (PHP) в прошлом месяце: P еще один нуб

+0

Я хочу здесь указать: из-за ограничений памяти в GAE его не удается обрабатывать большие файлы - (получил это из журналов) – Akhilesh

+0

bro вы можете сказать, откуда вы читаете файл GCS или удаленный сервер? –

+0

С удаленного сервера. – Akhilesh

1

Если файл хранится в ГКС, вы могли бы служить файл непосредственно без ограничения 60х. См. https://cloud.google.com/appengine/docs/php/googlestorage/public_access#serving_files_directly_from_google_cloud_storage для более подробной информации.

+0

Файл не хранится в GCS. – Akhilesh

+0

Вы, вероятно, должны тогда. – Mars

Смежные вопросы