Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Cykliczne pobieranie danych
jsmp
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 1
Dołączył: 25.01.2009

Ostrzeżenie: (0%)
-----


Zastanawiam się jak wygląda realizacja takiego zadania, jak codzienne zdalne zasysysanie danych z pewnego API. O ile CRON i jedna sprawdzana dana wydaje się prosta, jak zrealizować projekt dla dynamicznego zbioru danych przechowywanych w bazie?

Np. W bazie mam listę adresów WWW , które stanowią warunek dla API. Zapytanie API dla danego www zwraca pewne wartości (np. ilość backlinks). Nie jestem przekonany, czy zapytania odnośnie kilku adresów jednocześnie nie wydłużą czasu reakcji API co może skończyć się bug'ami.

Teoretycznie można by co minutę odpalać skrypt CRONem, i sprawdzać pojedyńczą daną API (wtedy mam 3600 slotów) w ciągu doby. Jednak czy to optymalne?

Ten post edytował jsmp 2.03.2014, 16:43:36
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
elmaciaso
post
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 9.02.2015

Ostrzeżenie: (0%)
-----


Witam.

Mam podobny problem z założyciel tematu.

Celem jest synchronizacja lokalnej bazy z bazą serwisu z ofertami za pomocą udostępnianego przez nich API.
Synchronizacja będzie się odbywać w CRON'ie. Problemem okazują się limity - limit 25 zapytań na minutę do API oraz limit jednej minuty wykonywania sryptu w CRON'ie.

Proces synchronizacji będzie polegał na:
- wysłaniu do API zapytania o listę usuniętych ofert
- wysłaniu do API zapytania o listę zakończonych ofert
- wysłaniu do API zapytania o listę uaktualnionych/dodanych od ostatniej synchronizacji ofert ( właściwie to od ostatnio zsynchronizowanego wpisu)
- dla każdego z powyższej listy:
- wysłanie do API zapytania o szczegóły oferty i zapisanie ich w lokalnej bazie

Kolejnym problemem są tutaj zdjęcia ofert. Każde ogłoszenie może mieć nawet 20 zdjęć, przy czym podobno powinienem każde zdjęcie pobierać osobno poprzez API i również zapisywać lokalnie. Tyle że każde takie pobranie zdjęcia to 1 zapytanie do API, dlatego przy ogłoszeniu z 20 zdjęciami miałbym 24 zapytania. To by znaczyło, że podczas jednego działania CRON'a zsynchronizowałbym tylko jedno ogłoszenie.

Dodatkowo dla mniejszej ilości zdjęć musiałbym ustawiać opóźnienie w działaniu kolejnych zapisów, żeby nie przekroczyć limitu zapytań do API.

Czy jest jakieś sensowne rozwiązanie tego problemu synchronizacji?


P.S. Jedno pytanie które może w dużym stopniu mi zaoszczędzi zapytań do API. Pobierając szczegóły dla każdego ogłoszenia, otrzymuję listę jego zdjęć, a dokładnie ID zdjęcia, po którym powinienem odpowiednią funkcją API pobierać zdjęcie. Zdjęcie to jest jednak dostępne do wyświetlania po ID, tzn podając na stronie URL http://img.jakisserwis.pl/zdjecie/<ID>, mogę wyświetlać je bezpośrednio z bazy serwisu z ogłoszeniami. Czy takie wyświetlenie zdjęcia poprzez podanie URL w atrybucie src jest traktowane jako zapytanie do API? Jeśli nie to nie musiałbym pobierać każdego zdjęcia a jedynie zapisywać ich ID.

Będę wdzięczny za każdą pomoc i miłe przywitanie (to mój 1 post (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 16.10.2025 - 06:09