2011-01-02 3 views
0

J'ai une URL https API que j'ai besoin d'exécuter plusieurs fois, et aussi rapidement que possible pour vérifier l'état d'un domaine.Plusieurs demandes https .. comment?

Comment est-ce que je peux courir le même URL plusieurs fois concurremment, en recevant la réponse dans la production, et fermant la connexion finie, tout en gardant aussi les ressources de mémoire aussi basses que possible?

On m'a dit d'utiliser le filetage dans une autre langue (pas de PHP)?

Toute main d'exemples ou de prêt serait grandement apprécié! Merci

+1

Si l'intention est [domaine snatching] (http://www.quickonlinetips.com/archives/2005/05/how-to-snatch-expiring-domains-seek-the-professionals/), puis en utilisant l'un des les services établis est une meilleure option. Votre implémentation de script est à peine aussi importante que la connexion et la latence réelles. – mario

+0

@mario: À la vôtre. Je suis en concurrence avec deux autres sociétés pour des ccTLD spécifiques. Ils sont nouveaux dans le jeu et capturent ces domaines au ralenti (jusqu'à 10 secondes après le temps de purge). Je suis juste un peu plus lent en ce moment. – iCeR

+0

duplication possible de [Comment exécuter cURL une fois, en vérifiant la disponibilité du domaine dans une boucle? Code d'aide de fixation s'il vous plaît] (http://stackoverflow.com/questions/4481946/how-to-run-curl-once-checking-domain-availability-in-a-loop-help-fixing-code-pl) – mario

Répondre

2

juste fait un rapide Google et est venu avec this, je crois que cela va résoudre votre problème - cette citation résume:

Utilisation de la curl_multi * famille de fonctions cURL vous pouvez faire ces demandes simultanément. De cette façon, votre application est aussi lent que la plus lente demande, opposée à la somme de toutes les demandes.

+0

Merci ! Est-ce que cela va résoudre le problème que j'ai ici: http://stackoverflow.com/questions/4567492/how-to-reduce-virtual-memory-by-optimising-my-php-code, concernant l'excès de mémoire? – iCeR

+0

@iCeR - Pour être honnête, je ne sais pas, je suis principalement un programmeur .NET - suppose que j'eu de la chance avec Google ;-) –

1

m.edmondson était plus rapide que moi: D

Une des informations peut-être utile: Quand vous faites une demande de lot avec boucle simultaniously, vous aurez probablement un décalage temporel bcs le résolveur DNS boucle ne fonctionne pas simultanément. En guise d'alternative, vous pouvez écrire un script phi cli qui va forcer les enfants qui travaillent séparément, ou simplement utiliser bash & lynx (sur linux).

+0

Merci. Avez-vous un exemple d'exécution d'une URL plusieurs fois en utilisant l'une de ces méthodes? – iCeR

+0

J'ai construit un outil d'observation de serveur une fois et utilisé exactement le même blogpost que la base fournie par m.edmondson. –

+0

donc il n'y a pas vraiment quelque chose de précieux à ajouter. juste une chose à mentionner: je n'ai pas vu de 'curl_multi_remove_handle()' dans votre script, peut-être que cela réduirait un peu la mémoire. –

Questions connexes