Ошибка с временным хранилищем файлов в многоэкземплярной среде автоматического масштабирования и запрос об использованииPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Ошибка с временным хранилищем файлов в многоэкземплярной среде автоматического масштабирования и запрос об использовании

Сообщение Anonymous »

Я столкнулся с проблемой при использовании автоматического масштабирования, особенно когда мое приложение масштабируется более чем на один экземпляр. После автоматического масштабирования при попытке экспорта файлов я начинаю видеть следующую ошибку:

Код: Выделить всё

{
"class": "PhpOffice\\PhpSpreadsheet\\Reader\\Exception",
"message": "Could not find zip member zip:///var/www/html/storage/framework/cache/laravel-excel/laravel-excel-xTdezz3OYmD8MnPBQhypTJrXfvQniokt.xlsx#_rels\\.rels",
"code": 0,
"file": "/var/www/html/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/File.php:162",
"trace": [
"/var/www/html/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx.php:427",
"/var/www/html/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/BaseReader.php:182",
"/var/www/html/vendor/maatwebsite/excel/src/Writer.php:141",
"/var/www/html/vendor/maatwebsite/excel/src/Jobs/AppendQueryToSheet.php:98",
"/var/www/html/vendor/maatwebsite/excel/src/Jobs/Middleware/LocalizeJob.php:46",
"/var/www/html/vendor/laravel/framework/src/Illuminate/Support/Traits/Localizable.php:19",
"/var/www/html/vendor/maatwebsite/excel/src/Jobs/Middleware/LocalizeJob.php:45",
"/var/www/html/vendor/maatwebsite/excel/src/Jobs/AppendQueryToSheet.php:93",
"/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36",
"/var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php:43",
"/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:95",
"/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:35",
"/var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php:690",
"/var/www/html/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php:128",
"/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:144",
"/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:119",
"/var/www/html/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php:132",
"/var/www/html/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php:124",
Когда у меня работает только один экземпляр, все работает как положено и ошибок нет. Однако моя архитектура опирается на автоматическое масштабирование и обычно использует несколько экземпляров для обработки нагрузки. Похоже, что эта ошибка может быть связана с тем, что файл кэшируется или хранится локально в каждом экземпляре, который не распределяется между экземплярами в настройке автоматического масштабирования.
Существует ли рекомендуемый подход к обрабатывать хранилище для временных файлов или файлов кэша в среде с несколькими экземплярами?
Кроме того, есть ли способ настроить временный файл local_path для облачного хранилища, такого как Amazon S3? Я вижу, что local_path используется для определения места хранения временных файлов во время процессов экспорта/импорта:

Код: Выделить всё

'temporary_files' => [
'local_path' => storage_path('framework/cache/laravel-excel'),
// Other settings...
],
Поскольку мы работаем в среде с несколькими экземплярами, хранение этих временных файлов локально в каждом экземпляре создает проблемы с согласованностью между экземплярами. Если бы мы могли использовать общее местоположение, например корзину S3, это могло бы помочь избежать этой проблемы. Любые рекомендации по этому поводу будут очень признательны!

Подробнее здесь: https://stackoverflow.com/questions/791 ... onment-and
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»