Come posso gestire una API lenta in PHP?

1

Sto scrivendo un'app Web pubblica per ottenere dati di magazzino da un negozio di Magento. Ho effettuato l'accesso ai dati, ma risulta che devo interrogare ogni prodotto singolarmente per i dati di magazzino. Con migliaia di articoli questo è un maiale di risorse e richiede molto tempo. Questo non può essere evitato. È proprio come funziona la loro API e devo farlo in questo modo.

Come posso codificare qualcosa in PHP che viene eseguito in background, raccogliendo i dati API cogliendoli in modo più calmo e più amichevole, e non martellando i loro negozi con le chiamate API SOAP?

Ho ragione nel pensare che ho bisogno di usare un processo in background come questo:     $ pid = shell_exec (sprintf ('% s > / dev / null 2 > & 1 & echo $!', $ command));

... e poi interrogare quel $ pid? Memorizzarli in un database? Esistono esempi di gestori di processi in background?

    
posta gabrielcrowe 20.03.2014 - 13:41
fonte

1 risposta

1

Considerando il commento di Mike e Thorsten - se questi dati non sono sensibili al fattore tempo - puoi creare un cron job che otterrà questi dati e li metterà nella tua tabella SQL e poi avrà la tua app da cui estrarre. La maggior parte delle buone chiamate API ha in genere un pull di tutto il gestore delle richieste API con un delimitatore in modo da poter recuperare i dati bulk in quanto non vogliono che li martini perché, a seconda della loro configurazione del firewall, potrebbe finire per essere un programma di forza bruta che vuole sondare se stai sondando troppo spesso. Quindi, in conclusione, potrebbe non essere te, ma loro.

    
risposta data 20.03.2014 - 18:52
fonte

Leggi altre domande sui tag