[AlternC-dev] Gestion de création des ressources

Retour à l'archive de la liste
Le site d'AlternC
Google Custom Search

Remi remi+tech at b6.be
Lun 7 Juil 11:56:14 CEST 2014


Salut,

On Mon, 7 Jul 2014, Alban Crommer wrote:
|
|Si je fais un petit florilège des choses que m'évoquent ce sujet
|    • Certaines actions sont immédiates (mkdir) d'autres différées 
|(create subdomain)

[...]

|    • Avec l'API HTML qu'on conçoit pour fonctionner sur des clients 
|asynchrones, il faut penser à un canal de communication séparé pour 
|communiquer sur les actions qui seront exécutées par cette API

Salut,

On peut éventuellement imaginer pouvoir utiliser l'interface AlternC en 
mode "hors connexion". On crée des répertoires, on créer/supprime des 
virtualhosts, ou ce que l'on veut. Et quand on récupère la connexion 
Internet, on appuie sur le bouton "synchroniser".
Mais dans ce cas, la file d'attente est sur le client (HTML5 FileSystem), 
et la réponse du serveur est synchrone à la demande.

Deuxième cas, on utilise un canal de communication persistant (web 
socket), ce qui fait que le serveur peut envoyer des messages asynchrones.

Dans les deux cas, la création de répertoire n'est pas une action qui 
nécessite suffisamment de temps pour justifier l'écriture dans une base de 
données et la mise en attente dans une file d'exécution, ce qui ne ferait 
qu'alourdir la charge.

Evidemment, certaines actions (archivages de compte, dump de bases de 
données) peuvent nécessiter un temps incompressible.

Pour le reste, il faudrait davantage travailler à rendre immédiat les 
temps de traitement qu'à rendre asynchrones des actions qui n'ont pas 
besoin de l'être: mise à jour des DNS avec nsupdate, utilisation d'un 
module Apache pour la gestion des VirtualHosts depuis la base de données, 
...

L'utilisation d'API nécessite une réponse immédiate dans un minimum de 
requêtes. Si j'ai un script qui veut créer un virtualhost, je ne peux pas 
me retrouver à faire un while; sleep(10) au milieu pour attendre que le 
virtualhost ait été créé, et avoir une réponse ou erreur du serveur.

Remi


Plus d'informations sur la liste de diffusion Dev