recherche

Maison  >  Questions et réponses  >  le corps du texte

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 ?

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 ?
阿神阿神2827 Il y a quelques jours448

répondre à tous(8)je répondrai

  • ringa_lee

    ringa_lee2017-05-16 13:12:48

    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/...

    répondre
    0
  • 黄舟

    黄舟2017-05-16 13:12:48

    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

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:12:48

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

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 13:12:48

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

    répondre
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 13:12:48

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

    répondre
    0
  • 为情所困

    为情所困2017-05-16 13:12:48

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

    répondre
    0
  • 世界只因有你

    世界只因有你2017-05-16 13:12:48

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

    .

    répondre
    0
  • 巴扎黑

    巴扎黑2017-05-16 13:12:48

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

    répondre
    0
  • Annulerrépondre