Tous les produits
Search
Centre de documentation

Function Compute:Principes

Dernière mise à jour :Aug 12, 2026

Dans un custom runtime, votre package de code (au format ZIP) est un programme serveur HTTP. Function Compute lance ce serveur HTTP lors d'un démarrage à froid et y achemine toutes les requêtes entrantes.

Fonctionnement

Lors d'un démarrage à froid, Function Compute exécute la Startup Command et les Startup Parameter configurés pour lancer votre serveur HTTP. Ce dernier prend ensuite en charge l'ensemble des requêtes provenant de Function Compute.

En l'absence de commande ou de paramètres de démarrage, Function Compute lance le serveur HTTP depuis /code/bootstrap par défaut.

Le démarrage à froid se déroule en deux étapes :

  1. Préparation de la plateforme : Function Compute initialise l'environnement d'exécution et prépare le lancement de votre code.

  2. Démarrage du serveur HTTP : Function Compute exécute votre commande de démarrage. Le serveur HTTP doit être opérationnel sous 120 secondes.

Configurer la commande de démarrage

La commande de démarrage est définie dans customRuntimeConfig :

Champ Description
command Exécutable à lancer
args Arguments transmis à l'exécutable

Function Compute concatène command et args pour former la commande de démarrage complète.

Si votre package de code se nomme function.zip, les exemples suivants illustrent sa structure ainsi que la configuration customRuntimeConfig associée pour chaque runtime.

Java 8 or Spring Boot

.
└── demo.jar
customRuntimeConfig:
  command:
    - java
  args:
    - '-jar'
    - 'demo.jar'

Python 3.7

.
└── server.py
customRuntimeConfig:
  command:
    - python
  args:
    - 'server.py'

Node.js 10

.
└── server.js
customRuntimeConfig:
  command:
    - node
  args:
    - 'server.js'

PHP 7.4

.
└── server.php
customRuntimeConfig:
  command:
    - php
  args:
    - 'server.php'

Prérequis du serveur HTTP

Configurez votre serveur HTTP pour qu'il respecte les exigences suivantes. Tout non-respect entraîne le rejet ou l'échec de la connexion par Function Compute.

Exigence Détails Erreur en cas de non-respect
Liaison à l'adresse correcte Écoutez sur 0.0.0.0:CAPort ou *:CAPort. N'utilisez pas 127.0.0.1:CAPort. FunctionNotStarted — connexion refusée
Correspondance avec le port configuré Le port d'écoute du serveur doit correspondre à la valeur CAPort définie dans la configuration de votre fonction. La valeur par défaut est 9000. Pour utiliser un autre port (par exemple, 8080), définissez CAPort sur 8080 dans la configuration de votre fonction. FunctionNotStarted — échec du ping
Activation du keep-alive Activez le mode keep-alive et réglez le délai d'expiration de la connexion sur au moins 24 heures (durée maximale d'exécution d'une fonction). Interruption des connexions en cours d'exécution
Démarrage sous 120 secondes Le serveur HTTP doit accepter les connexions dans les 120 secondes suivant son lancement. Échec du démarrage

Exemple : configuration du keep-alive (Node.js avec Express)

const server = app.listen(PORT, HOST);
server.timeout = 0;          // never timeout
server.keepAliveTimeout = 0; // keep-alive, never timeout

Référence d'erreur : liaison à 127.0.0.1

Si le serveur HTTP écoute sur 127.0.0.1 au lieu de 0.0.0.0, Function Compute ne peut pas s'y connecter et renvoie l'erreur suivante :

{
  "ErrorCode": "FunctionNotStarted",
  "ErrorMessage": "TheCA'shttpservercannotbestarted:ContainerStartDuration:25000000000.PingCAfaileddueto:dialtcp21.0.XX.XX:9000:getsockopt:connectionrefusedLogs:2019-11-29T09:53:30.859837462ZListeningonport9000"
}