Mysql
 sql >> Base de données >  >> RDS >> Mysql

Appel de méthode asynchrone PHP dans le framework Yii

Typiquement, la solution à ce genre de problèmes serait d'intégrer un bus de messages dans votre système. Vous pourriez envisager un produit comme Beanstalkd . Cela nécessite l'installation d'un logiciel sur votre serveur. Je suppose que cette suggestion s'appellerait "utiliser une bibliothèque externe".

Si vous pouvez accéder au serveur de déploiement et que vous pouvez ajouter cronjob (ou peut-être un administrateur système), vous pouvez envisager un cronjob qui effectue un appel php-cli à un script qui lit les travaux à partir d'une file d'attente de travaux dans votre base de données qui est rempli par le contrôleur méthode.

Si vous ne pouvez pas installer de logiciel sur le serveur que vous utilisez, vous pouvez envisager d'utiliser une solution SAAS telle que Iron.io pour héberger la fonctionnalité de bus pour vous. Iron.io utilise ce qu'on appelle une file d'attente push . Avec une file d'attente push, le bus de messages exécute activement une demande (push) aux écouteurs enregistrés avec le contenu du message. Cela pourrait fonctionner car cela ne vous oblige pas à faire une requête curl.

Si rien de ce qui précède n'est possible, vos mains sont liées. Un autre article assez pertinent sur le sujet :Traitement PHP évolutif et retardé