Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][XML]Pobieranych danych z API - jakie kroki?
Lord
post 3.08.2017, 18:57:53
Post #1





Grupa: Zarejestrowani
Postów: 239
Pomógł: 32
Dołączył: 10.03.2004

Ostrzeżenie: (10%)
X----


Mam API z produktami sklepu i pisze aplikacje do pobieranie tych danych w symfony (command)
Jaka mam podzielić sobie taką pracę?

1. Pobieram dane używam GuzzleHttp\Client tylko produkty są podzielone na części (za każdym razem pobieram jakąś cześć ) i teraz jak mam to zaplanować w kodzie. pobieranie dużej ilości danych może trwać wieki, moge tu puścić pętle i pobrać jednocześnie ale to bedzie trwało wieki i może obciążyć serwer. Jak to podzielić? Jeżeli użyje corna i co minutę będę pobierał cześć produktów i wrzucał je do bazy od razu to może sie zdarzyć tak, że nastąpi aktualizacja i nie pobiorę wszystkiego bo na 1 stronie pojawią się już inne artykuły kiedy będę pobierał coś ze strony X i Y. Może zamiast pobierać i wrzucać wszystko do bazy to zapisać dane gdzie na dysku i potem zająć się ich obrabianiem?

2. Powiedzmy, że pobrałem dane i mam zapisane je lokalnie. zaczynam wrzucać produkty do bazy używając Symfony\Component\Serializer\Serializer mogę zamieć dane z json na mój object. z danymi tymi które mogę w prosty sposób zamienić nie ma problemu (title, desc itd) ale co z np polami które przetrzymują relacje w bd. np. kategorie? które mam zapisane w takiej postaci "Clothing & Accessories > Clothing > Outerwear > Coats & Jackets". przy każdym tworzeniu obiektu musiałbym w jakiś sposób znaleźć tą kategorie potem stworzyć obiekt na podstawie ID i ustawić go w produkcie. Ale gdy mam 1000 produktów z danej kategorii to trochę bez sensu dla każdego produktu szukać to oddzielnie. Więc może zostawić sobie to na później i zrobić kolejny skrypt który wyszuka artykuły bez mojej kategorii pobierze unikalne kategorie do odszukania i potem hurtowo ustawi moje kategorie?

3. jak najszybciej sprawdzić czy dane artykuły są już w bazie, aby nie pobierać tych danych jeszcze raz? mogę za każdym razem odwołać się do bazy danych i sprawdzić czy dane produkt jest w bazie (przechowuje zewnętrzne id i do tego nazwę sklepu) ale to przed dodaniem dla każdego produktu robienie czegoś takiego to chyba nie tędy droga wink.gif

Wiele bardziej doświadczonych osób pewnie robiło to setki razy i może powiedzieć jak sobie coś takiego zaplanować sad.gif Bardzo proszę o pomoc.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 06:59