Gateway Timeout bei Import von Aktivitäten und Kontakten

Hallo,

seit einiger Zeit habe ich Schwierigkeiten, Daten in Civi zu importieren.

Während es vor einigen Monaten 3 Minuten gedauert hat, eine Aktivitäten-CSV mit 5000 Kontakten zu importieren, brauche ich derzeit bis zu 45 Minuten, wobei nach einiger Zeit der Fehler Gateway Timout 504 kommt. Die bis dahin importieren Aktivitäten sind drin, aber es fehlen noch welche.

Heute ist das gleiche mit einem Import von Kontakten (also für ein Benutzerdefiniertes Feld) passiert.

Gibt es serverseitig oder vom CiviCRM irgendwelche Ursachen für den Abbruch? Irgendwelche Parameter, die anders eingestellt werden können?

Ab jetzt immer nur kleinere Dateien importieren finde ich sehr umständlich und es hat früher bereits gut funktioniert.

LG Jonathan

Das ist schon immer ein Problem gewesen, und zwar ein konzeptionelles: Solange ein Import in „einem Rutsch“ läuft, muss das auch in einem PHP-Prozess passieren, und diese sollten sicherheitsbedingt einen Timeout haben.

Zur Lösung gibt es hier verschieden Ansätze:

  1. Timeout für den Import hochsetzen - nicht zu empfehlen, denn irgendwann ist auch der Speicher voll.
  2. In kleine Importpakete auftrennen - nicht zu empfehlen, weil umständlich - wie Du ja selbst sagst.
  3. Per Skript importieren, also ein bash oder Python Skript haben, was jeweils die CiviAPI aufruft, aber eben einzeln. Das machen wir gerne für unsere Importe/Migrationen, erfordert aber relativ viel technisches Wissen.
  4. In der letzten Zeit sind einige Tools dazugekommen, die den Import über den stark verbesserten CiviCRM Queueing Mechanismus abwickeln, zum Beispiel die AdvancedImport Extension (HIER).
  5. Wenn dieser Importer in der Funktionalität nicht ausreicht, gibt es noch die Möglichkeit, ihn mit dem FormProcessor zu kombinieren - dort kann man für dein Import jeden einzelnen Schritt genau spezifizieren.

Meine Empfehlung wäre, einmal mit Option 4 zu experimentieren. Falls das nicht reicht, könnte es eine komplexere Logik mit dem FormProcessor vielleicht zum Ziel führen (Option 5).

Erwähnenswert ist auch, dass der in CiviCRM eingebaute Importer selbst vor kurzem deutlich verbessert wurde, siehe hier.

2 „Gefällt mir“