Zum Hauptinhalt springen

Serverlose Fehlersuche

Falls die untenstehende Lösung Ihr Problem nicht behebt, können Sie unserer Leapcell Discord Community beitreten, um weitere Unterstützung zu erhalten.

Join Discord

Service-Lebenszyklus

Service-Start

Das folgende Diagramm veranschaulicht den vollständigen Ablauf des Starts Ihres Dienstes in einer Leapcell Linux VM.

Service Lifecycle
  1. Wir führen Ihren konfigurierten Startbefehl über Bash aus.
    • Wenn Ihr Befehl fehlschlägt, überprüfen Sie, ob Ihr Build-Befehl Abhängigkeiten ausgelassen hat.
  2. Wir pollen kontinuierlich 0.0.0.0:{your_port}/kaithhealth, um zu überprüfen, ob Ihr Port erreichbar ist.
  3. Sobald der Start abgeschlossen ist, leiten wir externen Traffic an Ihren laufenden Dienst weiter.

Serverlose Umgebungseinschränkungen

Für weitere Vergleiche zwischen Serverless und Persistent Server lesen Sie bitte: serverless vs persistent server

EinschränkungBeschreibungHinweise / Empfehlungen
DateisystemNur der Pfad /tmp ist beschreibbar; alle anderen Pfade sind schreibgeschützt.Maschinen sind hochdynamisch; die nächste Anfrage kann eine andere Instanz treffen und vorherige Daten nicht beibehalten. Für vollständig beschreibbare Pfade verwenden Sie einen Persistent Server.
Nur kurzlebige HTTP-AnfragenLeapcell Serverless Services sind dynamisch und für Request-Response-Muster optimiert.Für Streaming-Dienste (z. B. WebSocket) sollten Sie einen Persistent Server in Betracht ziehen, der besser für lang andauernde Dienste geeignet ist.
Request-TimeoutDie maximale Ausführungszeit für eine einzelne Anfrage beträgt 15 Minuten.Für Aufgaben, die dieses Limit überschreiten, verwenden Sie einen Persistent Server.
CPU-SuspendierungWährend Leerlaufzeiten wird die CPU der Instanz suspendiert.Es können keine Hintergrundaufgaben ausgeführt werden, wenn keine eingehenden Anfragen vorhanden sind.

Häufige Fehler

Häufige Fehler und Lösungen

FehlerUrsacheLösung
Read-only file system oder Permission deniedLeapcell priorisiert eine ultraschnelle Kaltstart-Performance, daher ist nur das Verzeichnis /tmp beschreibbar. Alle anderen Verzeichnisse sind schreibgeschützt.Stellen Sie sicher, dass alle Dateien, die Ihre Anwendung schreibt, in das Verzeichnis /tmp geleitet werden. Weitere Informationen finden Sie in der Speicher-Dokumentation.
Shared Memory: /dev/shm Permission Denied/dev/shm ist in der Leapcell-Umgebung schreibgeschützt, daher wird Shared Memory nicht unterstützt.Verwenden Sie stattdessen pipes oder sockets für die Interprozesskommunikation.
Response is bigger than the maximum allowed sizeLeapcell begrenzt die Antwortgröße auf 6 MB.Für größere Daten speichern Sie diese im Objektspeicher und geben Sie stattdessen die URL des Objekts zurück.
Port Some(8080) is not being listened to by the serviceDie Anwendung empfängt keine Daten am korrekten Port.Stellen Sie sicher, dass Ihre Anwendung Daten an dem in den Einstellungen konfigurierten Port empfängt.
Execution Environment User vs. Build Environment User MismatchWährend des Builds hat der Benutzer Root-Berechtigungen. Bei der Ausführung wird die App als Nicht-Root-Benutzer ausgeführt.Passen Sie Operationen, die Root-Berechtigungen erfordern, an die Einschränkungen der Ausführungsumgebung an.