PHP - Comment exécuter directement la ligne de code suivante lors de l'accès à une API qui prend beaucoup de temps à s'exécuter, quels que soient son temps d'exécution et sa valeur de retour ?
阿神
阿神 2017-05-16 13:10:48
0
8
442

Comme dans le titre :

En fait, je souhaite probablement déclencher un programme via l'API lors de l'ouverture d'une page, mais ce programme s'exécute relativement lentement et je ne veux pas m'inquiéter de son exécution et de son retour dans la page. demande, je peux directement Continuer à exécuter le code suivant. Veuillez me dire comment utiliser le code PHP pour implémenter cette situation ?
阿神
阿神

闭关修行中......

répondre à tous(8)
左手右手慢动作

La méthode évoquée par

@dawnblog est effectivement possible, mais l'exigence du sujet ne nécessite qu'un simple déclenchement avec fsockopen, et il n'est pas nécessaire de traiter les données de rappel

.

Référence : http://www.laruence.com/2008/...

黄舟

Laissez-moi vous dire ceci, si vous souhaitez démarrer le programme de manière asynchrone, c'est possible, vous pouvez utiliser socket
Étapes de mise en œuvre spécifiques
1 Envoyer des instructions au serveur socket
2. Socket reçoit des instructions et les envoie de manière asynchrone via long. liens Envoyez la commande à un autre serveur de traitement de tâches
3. Le socket indique directement au serveur Web de recevoir la commande et de l'exécuter, mais la tâche est exécutée via le serveur de traitement de tâches ---- Cette étape est équivalente à une exécution ajax asynchrone.
4. Le serveur de traitement des tâches est terminé. Après cela, envoyez la commande d'achèvement au serveur socket.
5. Le serveur socket termine la logique d'achèvement de la tâche spécifiée
Vous pouvez l'affiner à l'étape 5. Bien sûr, c'est ainsi que je procède. gérer l'asynchronisme. S'il y en a d'autres meilleurs, veuillez signaler toute lacune dans la méthode.
Veuillez vérifier workman pour l'implémentation spécifique du code ci-dessus

伊谢尔伦

Jeune homme, je vais vous apprendre deux mots de mantra : Équipe ! Liste!

phpcn_u1582

Si la rapidité n'est pas forte. Il est recommandé de mettre en cache

曾经蜡笔没有小新

fastcgi_finish_request() peut vous satisfaire, uniquement pris en charge par php-fpm. . Ou créez un service de file d'attente

为情所困

PHP n'a-t-il même pas de rappels asynchrones ? Hé

世界只因有你

La gestion des processus Swoole est différente pour PHP Voir gestion des processus Swoole

.
巴扎黑

Cette technologie de transmission asynchrone n'est-elle pas également possible sans utiliser de prises

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal