1b.app
Link kopiert -

Die Aktion „Produkt aus einem Prozess basierend auf zusätzlichen Feldern eines Prozessprodukts erstellen“ funktioniert nicht korrekt

Antworten:

Guten Tag. Sie müssen die Marken-ID und nicht den Namen übergeben. Wenn Sie den Namen übertragen und eine Marke nach Namen suchen oder erstellen müssen, können Sie sie verfeinern. Dauert 1h
02.06.2022, 16:02
Originalkommentar zur Version verfügbar: ru

Sehen Sie, habe ich Verbesserungen in meiner Bilanz? Ein paar Stunden sollten es schon sein, wenn ja, dann machen wir eine Überarbeitung, eine bequeme Sache
02.06.2022, 16:05
Originalkommentar zur Version verfügbar: ru

Guten Tag. Separater Wert für die Auswahl "Marke (Name)" hinzugefügt. Wenn die Marke nicht namentlich gefunden wird, erstellt sie eine neue Marke mit demselben Namen und verschreibt das Produkt.
03.06.2022, 11:53
Originalkommentar zur Version verfügbar: ru


Aufgrund der Tatsache, dass Produkte für mich das schmerzhafteste Thema im Boxen sind. (weil Boxing der Aktualisierung aller Preise nicht standhalten wird) Ich möchte meine tiefe Dankbarkeit für die Informationen ausdrücken, die Marken-IDs erstellen müssen. Und das Hinzufügen des Werts „Marke (Name)“ mit der Suchlogik ist sehr cool. Ich wollte auch klären, wofür der Punkt "Echte Produkte berücksichtigen" verantwortlich ist? Denn ein weiteres Problem tauchte auf: Unter der Bedingung des Verbots: „Produkte mit gleichem Artikel im System anlegen“ – im Moment entsteht jedes Produkt … durch diese Aktion, unabhängig davon, ob ein solches Produkt im System vorhanden ist oder nicht nicht. Vielleicht mache ich etwas falsch?
10.06.2022, 11:53
Originalkommentar zur Version verfügbar: ru

Eine Bestellung kann mehrere verschiedene Gegenstände enthalten, die als Produkte aufgeführt sind: 1. Reale Waren, die eine Karte haben 2. Fiktive Waren, die keine Karte haben, aber der Bestellung hinzugefügt werden. Sie können der Bestellung Produkte hinzufügen, ohne mit der Produktkarte verknüpft zu sein, Preise dafür festlegen und so weiter. Hier ist ein Häkchen, das dafür sorgt, dass nur Waren ab 1 Punkt berücksichtigt werden.. In Bezug auf die Tatsache, dass Boxen etwas „nicht aushalten“ können, ein sehr umstrittener Ausdruck. Wie viele Lieferantendatensätze und wie lange müssen Sie versenden? Wenn Sie alle Waren des Lieferanten durch Bestellungen laufen lassen, machen Sie höchstwahrscheinlich etwas falsch, da es eine spezielle Funktion "Lieferantenpreise herunterladen" gibt, die auf Preislisten von Lieferanten spezialisiert ist und 100-200.000 Zeilen in xls in wenigen Minuten verarbeiten kann
10.06.2022, 12:06
Originalkommentar zur Version verfügbar: ru

Ich stimme zu, ich habe nicht gedacht: „Es wird nicht überleben“, dies bezog sich zuvor auf OneBox, vorbehaltlich der Aktualisierung von 1-1,5 Millionen Positionen über API von der Website. Einen Server haben: CX51: 8 VCPU / 32 GB RAM => sollte den Preis von 500.000 ziehen, oder?) "Produkt aus dem Prozess basierend auf zusätzlichen Feldern des Prozessprodukts erstellen" Wenn "Echte Produkte berücksichtigen" I dachte "Eindeutigkeit von Artikeln" würde funktionieren, wird es nicht möglich sein, ein bereits im System vorhandenes Produkt mit der gleichen Artikelnummer anzulegen.
13.06.2022, 10:22
Originalkommentar zur Version verfügbar: ru

https://app.swaggerhub.com/apis-docs/Bodya44/OneBoxOSapiv2/2.0 die neue API ist schnell genug. Wenn Sie beispielsweise nur wenige Felder aktualisieren müssen, kann eine Anfrage zur Aktualisierung des Produkts bis zu einer Sekunde dauern. Außerdem können Waren in Gruppen zu je 100 Stück aktualisiert werden. Dementsprechend können Sie die Aktualisierung von 100 Testprodukten anfordern, die Antwortgeschwindigkeit aus der Box messen und berechnen, wie lange es dauern wird, alle Ihre Produkte zu aktualisieren. Vergessen Sie auch nicht, dass Sie in api einen Multi-Thread klopfen können, ich denke, 10 Threads werden ausreichen. So erhöhen Sie die Geschwindigkeit beim Hochladen Ihrer Daten noch einmal um das 4-5-fache. Wie schmerzhaft dies für den Server und seine Datenbank sein wird (die Last wird hauptsächlich auf der Datenbank liegen), müssen Sie sich an einem konkreten Beispiel ansehen. Ich wette, wenn Sie die Preise aller Produkte aktualisieren möchten, können Sie 500.000 Produkte in 10-30 Minuten aktualisieren. Zunächst rate ich Ihnen, einfach zu versuchen, mehrere Produkte über eine neue API mit einer Anfrage zu aktualisieren und die Geschwindigkeit auf Ihrem Server zu messen, es scheint mir, dass es Ihnen vollkommen passen sollte.
14.06.2022, 09:33
Originalkommentar zur Version verfügbar: ru

Wenn Sie Tests durchführen, melden Sie sich bitte ab - es ist sehr interessant geworden, was bei echten Daten aus Ihnen herauskommt.
14.06.2022, 09:51
Originalkommentar zur Version verfügbar: ru

Ich erhalte etwa Folgendes: [{"id":"100854","price":1293},{"id":"100965","price":1293},{"id":"100853","price ":1293},{"id":"100176","price":602},{"id":"100175","price":1302},{"id":"100177","price": 802},{"id":"100178","price":802},{"id":"95034","price":1193},{"id":"95131","price":1193} ,{"id":"95122","price":753},{"id":"97191","price":472},{"id":"97190","price":472},{ "id":"97184","price":472},{"id":"97189","price":472},{"id":"97183","price":472},{"id ":"97188","Preis":472},{"id":"97186","Preis":472},{"id":"97182","Preis":472},{"id": "97187","Preis":472},{"id":"97185","Preis":472},{"id":"96028","Preis":566},{"id":"96019 ","price":1117},{"id":"96020","price":1117},{"id":"95104","price":907},{"id":"95147", "price":1282},{"id":"96027","price":1402},{"id":"95144","price":984},{"id":"95145","price ":984},{"id":"95146","Preis":984},{"id":"95143","Preis":453},{"id":"96024","Preis": 1766},{"id":"96542","price":1766},{"id":"96021","price":1039},{"id":"96022","price":1039} ,{"id":"96023","price":1039},{"i d":"96640","Preis":913},{"id":"96726","Preis":1337},{"id":"98395","Preis":1202},{"ID" :"96727","Preis":1337},{"id":"95179","Preis":661},{"id":"95130","Preis":661},{"id":" 95124","Preis":661},{"id":"95123","Preis":661},{"id":"97217","Preis":1038},{"id":"97218" ,"price":1038},{"id":"97219","price":1038},{"id":"97220","price":1038},{"id":"95129"," Preis":823},{"id":"95128","Preis":823},{"id":"95127","Preis":823},{"id":"95126","Preis" :823},{"id":"95125","price":823},{"id":"95033","price":823},{"id":"96545","price":841 },{"id":"97434","price":841},{"id":"96724","price":510},{"id":"96723","price":510}, {"id":"96725","price":510},{"id":"95148","price":731},{"id":"97161","price":472},{" id":"97159","price":472},{"id":"97156","price":472},{"id":"97160","price":472},{"id" :"97158","Preis":472},{"id":"97155","Preis":472},{"id":"97157","Preis":472},{"id":" 95030","Preis":1237},{"id":"96069","Preis":1237},{"id":"95149","Preis":1248},{"id":"95031" ,"Preis":1248},{"id":"95150","Preis":1248},{"id":"95032","Preis e":1358},{"id":"95121","price":1358},{"id":"97171","price":472},{"id":"97170","price" :472},{"id":"97167","price":472},{"id":"97164","price":472},{"id":"97169","price":472 },{"id":"97166","price":472},{"id":"97163","price":472},{"id":"97168","price":472}, {"id":"97165","price":472},{"id":"97162","price":472},{"id":"94994","price":698},{" id":"97694","price":1248},{"id":"97180","price":1003},{"id":"97177","price":1003},{"id" :"97179","Preis":1003},{"id":"97176","Preis":1003},{"id":"97173","Preis":1003},{"id":" 97178","price":1003},{"id":"97175","price":1003},{"id":"97172","price":1003},{"id":"97181" ,"price":902},{"id":"97174","price":902},{"id":"99955","price":852},{"id":"98763"," Preis":268},{"id":"99078","Preis":257},{"id":"99079","Preis":298},{"id":"95602","Preis" :245}] Aktualisieren des Preises von 100 Produkten in einer Anfrage durch die Produkt-ID im Feld, die Antwortzeit auf die Anfrage: 0,89 Sek. bei einer kalten Anfrage. Kalt bedeutet, dass dies die erste Anfrage für diese Produkte ist, d.h. Ihr Abruf befindet sich nicht im MySQL-Cache. Wenn Sie die Anfrage erneut senden, dann sind dies bereits etwa 0,5. Sek. Es ist wichtig zu verstehen, dass dies nahezu ideale Bedingungen ohne Automatisierung für das Produkt und eine lokale Maschine mit 6 Prozessorthreads bei 2,8 GHz sind. Es gibt auch einen schnellen Parameter in der API. Dann führt die Box die von Ihnen gesendeten Updates überhaupt nicht aus, sondern gibt Ihnen die Task-ID. Wenn spezielle Worker die Phase der Durchführung von Aktualisierungen erreichen, wird die Anfrage ausgeführt und Sie können das Ergebnis der Verarbeitung anhand der Aufgaben-ID abrufen, wenn Sie es benötigen. Damit reduzieren Sie die Reaktionszeit auf Ping zwischen Servern und die Startzeit der Engine, die etwa 0,1 Sekunden beträgt. Wenn wir Ihre Daten und meine Berechnungen nehmen, dann sind 500.000 Produkte ungefähr 500.000/100 = 5000 Anfragen an api. In Anbetracht dessen, dass jeder in 1 Sekunde arbeiten wird (und Ihr Server offensichtlich einen besseren Prozessor hat und die Antwort schneller sein sollte, wenn der Ping zwischen den Servern nicht groß ist). 5000 Anfragen sind 5000 Sekunden ~ 83 Minuten. Wenn dies in mehreren Threads erfolgt, kann es 10-15 Minuten dauern, bis alle 500.000 Produkte aktualisiert sind. Sie müssen auch verstehen, dass Sie kaum alle 500.000 Produkte pro Stunde entladen müssen und nur diejenigen aktualisieren müssen, die einige Änderungen erfahren haben. Das reduziert 500.000 Artikel auf ein paar hundert Übertragungen pro Stunde. Aber selbst der Umschlag von 500.000 Waren pro Stunde in einem einzigen Thread scheint mir ein ganz normales Ergebnis zu sein. Also deine Worte darüber, dass Boxen nichts ziehen werden, erscheinen mir zumindest nicht gerechtfertigt, höchstens ein wenig beleidigend) ps Ich warte auf die Ergebnisse deiner Tests mit deinen Daten. Der Beweis, dass 100 Produkte in weniger als 1 Sekunde aktualisiert werden können, ist oben.
14.06.2022, 10:11
Originalkommentar zur Version verfügbar: ru

Guten Abend.
Anonymer Hamster OneBox Production schrieb: Wie führt man die Tests bitte ab - es ist sehr interessant geworden, was man an realen Daten bekommt.
Guten Abend. Ich entschuldige mich für diese "schnelle" Antwort. Wenn ich es gewusst hätte, und vor allem, ich könnte, dann hätte ich es noch am selben Tag gemacht ... und Tests durchgeführt. Und so warte ich und hoffe, dass sich die Website-Entwickler und der Integrator auf diese Funktionalität einigen und sie implementieren ... Und ich werde auf jeden Fall Feedback geben.
04.07.2022, 20:50
Originalkommentar zur Version verfügbar: ru

Anonymer Hamster OneBox-Produktion schrieb: Guten Tag. Separater Wert für die Auswahl "Marke (Name)" hinzugefügt. Wenn die Marke nicht namentlich gefunden wird, erstellt sie eine neue Marke mit demselben Namen und verschreibt das Produkt.
Alles super, wie ich schon sagte. Sagen Sie mir bitte, wenn Sie ein Produkt über Hinzufügen erstellen. Felder werden pro Artikel dupliziert, untersagt. Vielleicht mache ich etwas falsch? Oder ist alles verbesserungswürdig? Wie ist die Marke nach Typ? Wenn der Artikel existiert, dann ersetzen wir die Daten des Produkts durch diesen Artikel. Wenn es nicht existiert, erstellen wir einen Artikel. Idealerweise wird bei der Suche nach einem Artikel die Marke berücksichtigt. Nach Typ: 1. Wenn die Marke nicht namentlich gefunden wird, erstellt sie eine neue Marke mit demselben Namen und verschreibt das Produkt. 2. Wenn die Marke gefunden wird, erstellen wir eine Suche nach Artikeln unter Berücksichtigung der Marke. 3. Wenn der Artikel mit einer solchen Marke nicht existiert, erstellen wir ein neues Produkt mit einem solchen Artikel und einer solchen Marke. 4. Und wenn es existiert, ersetzen wir die Daten des "gefundenen Produkts".
04.07.2022, 21:03
Originalkommentar zur Version verfügbar: ru

es hängt alles davon ab, wie Sie das Produkt erstellen. Geben Sie eine Abfolge von Aktionen oder ein Beispiel für eine API-Anfrage, mit der Sie ein Produkt erstellen, dann kann ich definitiv einen Algorithmus vorschlagen. Wenn Sie ein Produkt über apiv2 /api/v2/product/set/ erstellen, gibt es ein findbyArray-Feld, in dem Sie eine Liste von Feldern übergeben müssen, anhand derer Sie nach einem Produkt suchen müssen, bevor Sie es erstellen. Diese. wird dort ["articul", "externalid"] übergeben, dann wird das Produkt zunächst nach Artikel und externer ID gesucht und dann eingefügt.
05.07.2022, 17:17
Originalkommentar zur Version verfügbar: ru

Bitte beteiligen Sie sich am Dialog. Wenn Sie etwas zu sagen haben - schreiben Sie bitte einen Kommentar. Für die Teilnahme benötigen Sie ein Mobiltelefon und einen SMS-Code zur Identifizierung. Melden Sie sich an und schreiben Sie einen Kommentar