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

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

François aifsair at gmail.com
Lun 7 Juil 19:38:20 CEST 2014


Pour info, voici une petite preuve de concept de ce à quoi je pensais en
disant que le workflow pouvait être asynchrone.

C'est plein de trucs maladroits, la transaction se passe pas bien (d'où
les commentaires) mais ça permet de se faire une idée.

Notez le variable_get() adhoc mais je voulais dire par là que le worker
pouvait stocker son PID en bdd au lancement.

https://gist.github.com/fser/f29180bc45e453a43b3a

Pour tester,

dans un shell:
$ php worker.php
modifier variable_get() avec le pid retourné par celui-ci
dans un autre shell:
$ php panel.php

et si vous voulez forcer le worker:

$ kill -USR1 <<pid indiqué par worker.php>>

Alors oui ça implique que tout est sur la même machine, mais ça évite
aussi une écriture sur disque dans le cas d'icron.
Bref, je voulais juste montrer qu'on pouvait aussi utiliser un signal :)

Happy hacking

On 07/07/2014 07:09 PM, Olivier Huet wrote:
> Bonjour à tous,
> 
> Moi ce qui m'importe c'est que l'utilisateur n'ait pas à attendre un délai
> indéterminé et "supposer" que ça sera fait dans les 5 minutes, comme c'est
> le cas aujourd'hui pour la création de domaine.
> 
> Si on a une classe asynchrone mais qui notifie la page web en temps réel
> quand c'est fait, et éventuellement dont on peut forcer le worker, moi ça me
> va :)
> 
> AlternC n'est pas utilisé que dans des fermes de serveur, mais aussi pour
> des assos avec 1 seul serveur et des utilisateurs qui n'y connaissent pas
> grand-chose ;-)
> (c'est une des grandes forces d'AlternC que d'être beaucoup plus simple à
> utiliser que les autres panel)
> 
> 
> -----Message d'origine-----
> De : Dev [mailto:dev-bounces at alternc.org] De la part de François
> Envoyé : lundi 7 juillet 2014 16:25
> À : dev at alternc.org
> Objet : Re: [AlternC-dev] Gestion de création des ressources
> 
> Quelques détails d'implémentation :
> 
> * soit on part sur rabbitmq (ou concurent) qui permet de faire ce que l'on
> veut, et de gérer proprement l'attente des worker (cf
> http://www.rabbitmq.com/tutorials/tutorial-four-php.html)
> 
> [+] c'est bien
> [-] c'est "lourd" à mettre en place, prendre en main etc ...
> 
> * On vient remplir juste une table Mysql d'événéments avec un status (fait,
> à faire etc ..)
> 
> [+] c'est facile
> [-] comment on notifie les workers?
> 
> --> Incron comme la classe action?
> --> Socket local sur lequel écoute un démon?
> 
> 
> Je vais essayer de faire un proto de ce que l'on pourrait faire, sans cette
> notification.
> 
> 
> _______________________________________________
> Dev mailing list
> Dev at alternc.org
> http://lists.alternc.org/listinfo/dev
> 


-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: signature.asc
Type: application/pgp-signature
Taille: 884 octets
Desc: OpenPGP digital signature
URL: <http://lists.alternc.org/arch/dev/attachments/20140707/f73e97b5/attachment.sig>


Plus d'informations sur la liste de diffusion Dev