API gibt 500 nach ein paar Produkten

Hallo zusammen,

wir senden parallel 50 Artikel zum anlegen (Batch haben wir versucht, ist zu langsam da viele Bilder) 

Ein paar Requests enden aber im 500. Vermutlich ist was nicht korrekt konfiguriert, PHP Memory hat 2G, max execution time 300.

Was könnte ich noch versuchen um das Problem zu beheben?

Hallo,

was sagt denn der Errorlog des Servers an was es scheitert?

Es muss doch eine Möglichkeit geben die Fehlermeldung abzufangen, oder nicht? 

Ist der Fehler mit den gleichen Daten reproduzierbar, liegt es eher an den Daten.

Leider find ich nix dazu. Weder im apachelog noch sonst wo.

Unser System merkt, dass es nicht geklappt hat und schickt es nochmal, dann gehts komischerweise. Muss also irgend ne temporär hohe Auslastung sein

Gibt es eine andere Möglichkeit die Bilder zu einem Artikel zu senden? Sobald ich keine Bilder liefere, funktioniert es nämlich ohne 500er. Also laufen da iwelche PHP Prozesse gegen die Wand, Servermann kann auch nichts machen.

Könnte man die Bilder per FTP iwo hochladen und dann dem Artikel nur den Namen übergeben oder die Bilder erst per Media-Endpoint hochladen? Dieses Imageprocessing oder was auch immer SW mit den Bildern macht, ist hier jedenfalls vermutlich die Hauptursache

Hallo Nico,

wie sins denn so die Dateigrößen der Bilder?

Im Zweifelsfall würde ich die Bilder etwas komprimieren oder Skalieren und nochmal probieren.

Hast du denn schon ein Muster rausgefunden bei welchen Bildern er immer abbricht?

Grüße Lukaschel

Halloooo,

die sind ein paar KB  nur :frowning: Das komische ist, ich sende das Produkt hin bekomme 500. Im nächsten Anlauf klappt es. Ich habe jetzt einen Testshop auf nem anderen Hosting und teste da mal

Hab das Problem gefunden, parallel kann Shopware gar nicht ab, die DB meckert dann mit Deadlocks.

Ok dann halt BATCH. Ich sende 20 Produkte im Batch, aber nach 40 s wird die Verbindung getrennt mit einem 500 Internat Server error, die Produkte werden aber weiterhin angelegt. max_execution time ist auf 600 gestellt zum testen. Mein Client hat 5 min. Auch Postman bekommt den Fehler also kann es kein Timeout von Client sein. Jemand ne Idee was da die Verbindung trennt?

Die Lösung des Problems: PHP CGI ist murks. Es muss FPM sein!

Ich sende grad 20 Artikel paralel an die API - überhaupt kein Problem. Jeder Artikel hat dabei 10 Bilder.

Voraussetzung ist, dass man im Client einen Pool schafft, der auf alle seine Threads wartet bis sie fertig sind. Wenn ich die wild durcheinander schieße, gehts in die Hose. Also immer schön 20 hinsenden, abarbeiten lassen und wieder 20. Geht auch mit 50 aber 20 ist uns völlig ausreichend