Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    PHP Multithreading con file_get_contents e HTTP

    Buongiorno, volevo chiedervi se esiste un modo per realizzare il multithreading in PHP.
    Ho uno script che esegue delle istruzioni e restituisce un risultato al termine, dopo 2 secondi, per comodità chiamiamolo JOB.

    Vorrei scrivere un PHP in grado di eseguire N richieste di JOB attraverso la sua url, in modo da poter eseguire in parallelo JOB e impiegare quindi poco tempo invece che N * 2 secondi.
    Esiste un modo per farlo?
    Immaginavo un foreach asincrono con file_get_contents(<url-di-JOB>).
    Si può fare qualcosa del genere?

  2. #2
    qua c'è una risposta al riguardo: http://stackoverflow.com/questions/1...hp-multithread

    io ti direi di usare AJAX e fare così richieste asincrone che non bloccano la pagina.

  3. #3
    Quote Originariamente inviata da fermat Visualizza il messaggio
    qua c'è una risposta al riguardo: http://stackoverflow.com/questions/1...hp-multithread

    io ti direi di usare AJAX e fare così richieste asincrone che non bloccano la pagina.
    Già fatto: sembra che il collo di bottiglia sia il browser, lancio 100 richieste PHP ma vengono processate in modo seriale dal mio client Web, evidentemente: alla restituzione del risultato, coloro di verde una casella, e le caselle vengono colorate in modo seriale comunque...non sembra esserci una reale asincronia.

  4. #4
    devi lanciare N processi in background nel server... fai lo script che ti interessa in php/bash e poi lo lanci tipo

    codice:
    shell_exec('php -f tuoscript.php &');
    o qualcosa del genere e vedi che lavora in background....
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.