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

Requêtes asynchrones - Existe-t-il un moyen en PHP de publier des publications asynchrones similaires à js ? fsockopen n'a aucun moyen d'obtenir le résultat de la requête

Lors de l'envoi d'e-mails par lots, vous devez obtenir les résultats de l'envoi, vous devez donc attendre les résultats de la demande.

Existe-t-il un moyen pour PHP de demander l'interface de manière asynchrone, puis d'obtenir les données, puis d'exécuter la fonction de rappel ?

Maintenant, c'est une interface de requête synchrone, et puis attendez, c'est très lent. . Et le processeur du serveur augmentera pendant l'exécution. .

Demandez à Dieu l'illumination

Le point clé maintenant est que nous ne voulons pas attendre le retour de la requête, car elle est très lente, et appeler directement un certain morceau de code lorsqu'il y a un retour. . La file d'attente Redis est déjà utilisée et le script est en cours d'exécution

过去多啦不再A梦过去多啦不再A梦2679 Il y a quelques jours724

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

  • 高洛峰

    高洛峰2017-05-27 17:44:08

    Extension multithread d'installation php. Vous pouvez y parvenir en l'étendant vous-même, et js est également implémenté dans un seul thread.

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-27 17:44:08

    Vous pouvez essayer d'utiliser reactphp,workerman,swoole ces bibliothèques pour effectuer des tâches asynchrones

    répondre
    0
  • 怪我咯

    怪我咯2017-05-27 17:44:08

    Cela peut être réalisé avec le curl_multi fourni avec php

    répondre
    0
  • ringa_lee

    ringa_lee2017-05-27 17:44:08

    Il est fortement recommandé d'utiliser Workererman. Si vous utilisez fsockopen, ceci n'est envoyé que de manière asynchrone, mais il n'est pas renvoyé ! Si vous souhaitez un traitement asynchrone, utilisez Workererman. Bien sûr, swoole peut également être utilisé, mais cela a C. langage, certains messages d'erreur proviennent de C. Si vous connaissez C, vous pouvez également l'utiliser. Démarrer avec Workman est extrêmement simple. La logique d'implémentation spécifique est la suivante :
    Lorsque vous avez besoin d'être asynchrone, vous appelez directement Workerman pour exécuter votre logique. Ce Workerman est exécuté de manière synchrone. Une fois que
    Workerman a exécuté la logique, il appelle la tâche de manière asynchrone. asynchrone de l'ouvrier. l'ouvrier revient directement.
    Une fois votre tâche terminée, elle sera transmise au travailleur et celui-ci exécutera votre logique asynchrone.
    Vous offre un cadre de sauvegarde avec une communication asynchrone PHP
    github-php-awesome traduit

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-05-27 17:44:08

    file d'attente

    1. Stockez les informations à envoyer dans Redis ou autre cache mémoire.

    2.php fournit une interface qui doit accéder au jeton de clé. Cette interface permet de lire les données de courrier électronique dans le redis mis en cache en boucle et de les envoyer.

    3. Il est prévu d'utiliser des tâches planifiées sous Windows et Linux. Accédez régulièrement à http pour demander cette interface php et terminer l'envoi. C’est équivalent à asynchrone.

    répondre
    0
  • Annulerrépondre