Cześć
Mój sklep pobiera dane z zewnętrznego systemu za pomocą CUrla. Problem polega na tym, że operacja trwa kilka sekund i spowalnia wczytywanie strony.
Działa to tak:
W pliku CSV mam listę sklepów gdzie można kupić dany produkt wraz z stanem magazynowym. Wchodząc na kartę danego produktu muszę wysłać w pętli endpoint dla każdego sklepu np: 100 (może ta lista rosnąć).
/api/product/'.$id_produkt.'/magazyn/'.$id_sklepu_z_pliku_csv;
Oczywiście użyłem curl_multi_ ale trwa to i tak kilka sekund , około 5 na środowisku lokalnym. Być może ten czas na serwerze się skróci.
Jakie rozwiązanie można zastosować aby nie obciążało za bardzo strony i serwera, jednocześnie aby czas wczytania danych był jak najkrótszy ?
Rozwiązania o jakich myślę:
- Odpalać Curla dopiero po kliknięciu przycisku "Gdzie kupić? (Ajax) ". A więc strona z produktem wczyta się normalnie a popup z listą sklepów załaduje się dopiero gdy pobiorą się dane.
- Dane z zewnętrznego serwera zaczytywać w iframe (w popup) poprzez aplikację pośredniczącą. Wtedy nie będzie żadnego obciążenia, niezależnie czy 10 czy 100 użytkowników na stronie otworzy popup ?
Prośba o radę. Lub może inne rozwiązanie ?
Dzięki.