Traductions communautaires par veiseule.ai — Help improve them on Crowdin
Aller au contenu principal

Verrou de la Gateway¶

DerniÚre mise à jour : 2025-12-11

Pourquoi¶

  • Garantir qu’une seule instance de la Gateway (passerelle) s’exĂ©cute par port de base sur le mĂȘme hĂŽte ; des Gateways supplĂ©mentaires doivent utiliser des profils isolĂ©s et des ports uniques.
  • Survivre aux crashs/SIGKILL sans laisser de fichiers de verrou obsolĂštes.
  • Échouer rapidement avec une erreur explicite lorsque le port de contrĂŽle est dĂ©jĂ  occupĂ©.

Mécanisme¶

  • La Gateway (passerelle) lie l’écouteur WebSocket (par dĂ©faut ws://127.0.0.1:18789) immĂ©diatement au dĂ©marrage Ă  l’aide d’un Ă©couteur TCP exclusif.
  • Si la liaison Ă©choue avec EADDRINUSE, le dĂ©marrage lĂšve GatewayLockError("another gateway instance is already listening on ws://127.0.0.1:<port>").
  • Le systĂšme d’exploitation libĂšre automatiquement l’écouteur Ă  toute fin de processus, y compris en cas de crash et de SIGKILL — aucun fichier de verrou distinct ni Ă©tape de nettoyage n’est nĂ©cessaire.
  • À l’arrĂȘt, la Gateway (passerelle) ferme le serveur WebSocket et le serveur HTTP sous-jacent afin de libĂ©rer rapidement le port.

Surface d’erreur¶

  • Si un autre processus dĂ©tient le port, le dĂ©marrage lĂšve GatewayLockError("another gateway instance is already listening on ws://127.0.0.1:<port>").
  • Les autres Ă©checs de liaison remontent sous GatewayLockError("failed to bind gateway socket on ws://127.0.0.1:<port>: 
").

Notes opérationnelles¶

  • Si le port est occupĂ© par un autre processus, l’erreur est identique ; libĂ©rez le port ou choisissez-en un autre avec openclaw gateway --port <port>.
  • L’application macOS maintient toujours sa propre garde PID lĂ©gĂšre avant de lancer la Gateway (passerelle) ; le verrouillage Ă  l’exĂ©cution est appliquĂ© par la liaison WebSocket.