Sto assumendo questi numeri sono in un database, se così si dovrebbe aggiungere una nuova colonna intitolata isSent (o qualsiasi altra cosa vogliate).
Questo paragrafo che hai digitato dovrebbe essere messo in coda e probabilmente fatto notte/settimana/quando appropriato. A meno che tu non abbia una ragione specifica, non dovrebbe essere fatto alla rinfusa su richiesta. È anche possibile aggiungere una colonna al db per vedere quando è stata controllata l'ultima volta in modo che se un numero non è stato controllato in almeno X giorni, è possibile eseguire un controllo su quel numero su richiesta.
trattamento dei dati consiste nel verificare mobili tipo di numero (ad esempio, CDMA), l'assegnazione di ID univoci a tutti i numeri per un ulteriore riferimento, verificare la presenza di network/paese oneri unici, ecc
ma che ancora ti riporta alla stessa domanda su come eseguire questa operazione per 50.000 numeri contemporaneamente. Dato che hai citato i cron job, suppongo tu abbia un accesso SSH al tuo server, il che significa che non hai bisogno di un browser. Questi posti di lavoro cron possono essere eseguiti tramite la riga di comando in quanto tale:
/usr/bin/php /home/username/example.com/myscript.php
La mia raccomandazione è di elaborare 1.000 numeri alla volta ogni 10 minuti tramite cron e per calcolare il tempo necessario, quindi salvarlo in un DB. Dal momento che stai utilizzando un cron job, non sembra che questi siano messaggi SMS sensibili al tempo in modo che possano essere distribuiti. Una volta compreso il tempo di esecuzione di questo script per 50 volte (50 * 1000 = 50k), è possibile aggiornare il cron job per eseguirlo più o meno frequentemente.
$time_start = microtime(true);
set_time_limit(0);
function doSendSMS($phoneNum, $msg, $blah);
$time_end = microtime(true);
$time = $time_end - $time_start;
saveTimeRequiredToSendMessagesInDB($time);
Inoltre, potreste aver notato un set_time_limit (0), questo vi dirà PHP per non timeout dopo i 30 secondi di default. Se si è in grado di modificare il file PHP.ini, non è necessario inserire questa riga di codice. Anche se sei in grado di modificare il file PHP.ini, ti consiglio comunque di non modificare questa funzione in quanto potresti desiderare il timeout di altre pagine.
http://php.net/manual/en/function.set-time-limit.php
risposta meravigliosa, grazie mille. // continua anche se l'utente estrae la presa (Molto divertente) – elf1984
@Christian La soluzione funziona meglio su FireFox e IE, ma google Chrome freezed, in qualsiasi altro modo? – elf1984
Safari Webkit (utilizza anche din Chrome) presenta alcuni problemi con la funzione di avanzamento di PHP. Ho trovato una soluzione, ti ricontatterò ... ** Modifica: ** Risolto. – Christian