Zum Hauptinhalt springen

Häufig gestellte Fragen

Kurze Antworten auf häufige Fragen zu Einrichtung, Generierung, Speicher, Formaten und Arbeitsspeicher.

Kann Laravel Feeds Millionen von Datensätzen exportieren?

Ja. Das Paket liest Eloquent-Ergebnisse in Chunks und schreibt die Ausgabe schrittweise. Halten Sie builder() lazy, rufen Sie nicht get() oder toArray() für das vollständige Ergebnis auf und passen Sie chunkSize() nach Messungen von Arbeitsspeicher und Datenbanklast an.

Siehe Leistung bei großen Datenmengen.

Welches Format sollte ich verwenden?

Verwenden Sie den vom Abnehmer geforderten Vertrag. XML und RSS unterstützen hierarchische Direktiven, JSON erhält verschachtelte Daten, JSON Lines eignet sich für zeilenweise Verarbeitung und CSV benötigt ein stabiles Spaltenschema.

Siehe Unterstützte Formate.

Kann ein Feed mehrere Dateien erzeugen?

Ja, aber wählen Sie den Mechanismus danach aus, warum sich die Dateien unterscheiden:

  • Verwenden Sie perFile() und optional maxFiles(), um einen Datensatzbestand in fortlaufende Teile mit einer festen Anzahl von Datensätzen aufzuteilen.
  • Verwenden Sie Feed-Ziele, um für jeden Partner, Shop, jedes Gebietsschema oder einen anderen Geschäftsschlüssel eine separate gefilterte Ausgabe zu erzeugen.
  • Kombinieren Sie beide Mechanismen, wenn die Ausgabe jedes Partners zusätzlich aus mehreren Teilen nach Datensatzanzahl bestehen kann.

Ein vollständiges Beispiel finden Sie im Rezept für mehrere zielbezogene Feed-Dateien.

Kann ich Feeds auf S3 oder einem anderen entfernten Datenträger speichern?

Ja, wenn der konfigurierte Laravel-Datenträger zu einem beschreibbaren FilesystemAdapter aufgelöst wird. Entfernte Verschiebungen können als Kopieren und Löschen umgesetzt sein, sodass ein atomarer Austausch nicht garantiert ist.

Siehe Unterstützte Datenträger.

Warum wurde ein deaktivierter Feed ausgeführt?

Wenn Sie eine Feed-ID an feed:generate übergeben, wird dieser Feed auch bei inaktiver Registrierung ausgeführt. Ohne ID überspringt der Befehl inaktive Registrierungen.

Siehe Einzelner Feed.

Wie lasse ich ein optionales Feld aus?

Geben Sie DragonCode\LaravelFeed\Data\OptionalData oder Spatie\LaravelData\Optional als Feldwert zurück. CSV behält die Spalte bei und schreibt einen leeren Wert; Objektformate und XML lassen das Feld aus.

Siehe Optionale Werte.

Siehe auch