Media Optimizer + S3 Filesystem Fehler

Funktioniert die Media Optimierung korrekt mit dem S3 in SW 5.5 ? Bekomme um Teufel komm raus das Bild nicht optimiert auf den S3 - Adapter ist eingerichtet und funktioniert normal.

S3 Bucket

 

@Shyim‍ ich glaube du hast den S3 Adapter in 5.5 umgesetzt - könntest du da mal kurz drauf schauen?

 

Die Bilder existieren auf dem S3 - aber ich bekomme immer die Exception beim optimize CLI Befehl.

 

+-----------+----------+-----------------------+
| Optimizer | Runnable | Supported mime-types |
+-----------+----------+-----------------------+
| jpegoptim | Yes | image/jpeg, image/jpg |
| pngout | No | image/png |
| jpegtran | Yes | image/jpeg, image/jpg |
| optipng | No | image/png |
| pngcrush | Yes | image/png |
| guetzli | No | image/jpeg, image/jpg |
+-----------+----------+-----------------------+

Die Dateien im /tmp Ordner scheinen leer zu sein:

micha@micha:/tmp$ du -sh CdnOptimizerTemp-1FZNdg 
0    CdnOptimizerTemp-1FZNdg
 

und sys_temp_dir und upload haben auch schreibrechte… Ich checks nicht

Ich schau mir das mal Montag an :slight_smile:

@Shyim schrieb:

Ich schau mir das mal Montag an :)

Super - schönes WE :)  

@Shyim‍ kamst du mal zum drüber schauen?  Lips-are-sealed

@Misengo‍ könntest du mal diesen Patch bei dir probieren?

https://dpaste.de/WNPB

@Shyim‍ thanks.

Habe das mit dem neuen Code mal debugged und er returned in dem Fall bei 

if ($beforeOptimize === $this->filesystem->getSize($tempFileName)) {
    return;
}

Sprich die Dateien sind dann gleich und alles passt. Entferne ich die Zeile lädt er die Datei wie gewünscht auf den S3 Bucket.

War das Problem hier wegen dem writeStream / updateStream? Oder dem fehlenden use_path_style_endpoint ?

 

 

Genau ich habe die if eingefügt, damit er nicht “unnötig” wieder hochlädt.

writeStream darf man nur bei neuen Dateien. use_path_style_endpoint, weil es lokal mit einem Minio Server getestet habe :slight_smile: Und der Cache Zugriff war falsch

Ah okay, got it. Also würde die if + update statt write ausreichen. Fixt du das im Repository oder soll ich ein Issue/PR erstellen? Wäre nice wenn das im nächsten Patch ist ^^

 

 

 

 

Hab schon internen PR offen  Halo

1 Like

@Shyim schrieb:

Hab schon internen PR offen  Halo

Nice - danke dir fürs schnelle anschauen!  Smile 

@Shyim‍ der Vergleich von vor und nach optimize() scheint nicht zu funktionieren. 

 

Vorher:

debugging:

Hier ist der Wert stets gleich, habe das ganze nochmal in eine extra var geschrieben um sicher zu sein. Lasse ich die Zeile weg, schiebt er das optimierte Bild hoch:

 

nachher (ohne if-clause)

Kann es sein das BinaryOptimizer.php in run() noch nicht fertig mit dem optimieren ist? Passiert allerdings auch bei kleinen 3kb PNGs.

Sehr wahrscheinlich wird die Filesize gecacht im Flysystem

Wir haben es erstmal ohne Abfrage reingemergt https://github.com/shopware/shopware/commit/50e07abf2626f13e689bae259c3b8cbdbe491563