![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 25.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam prośbę o pomoc w znalezieniu dobrej drogi do rozwiązania problemu. Fakty. 1.Hosting nazwa.pl 2.Sklep internetowy z WebAPI 3.Dane z hurtowni w formacie XML ,też po api ,do zaimportowania cztery razy na dobę. Problematyka. Plik z danymi waży na dzień dzisiejszy niespełna 6mb i muszę importowac dane o produktach cztery razy na dobę.Problem w tym ,że nazwa.pl ogranicza czas wykonywania skryptu wywołanego przez Crona do 3 minut. Drugi problem jest taki ,że każdy rekord w XML muszę zweryfikować i odpytać sklep czy taki produkt istnieje ,w zależności od odpowiedzi importowane są różne dane.To akurat odbywa się przez WebApi i CURL . Niestety nie mam zbyt dużego skilla w programowaniu WebServices a tym bardziej w posługiwaniu się CURL'em. Jak długo mogę utrzymać sesję?Czy dla każdego rekordu musze się logować do WebAPi ,czy mogę raz otworzyć połączenie i nie zamykać go aż do całkowitego wykonania pętli(ponad 2000 rekordów i mowa oczywiście o CURL'u). Może ma ktoś pomysł jak porcjować dane aby uniknąć timeoutu serwera. Mile widziane są też pomysły po stronie przegląrki. PS.Wcześniejsze moje rozwiązanie oprałem na czystym PDO ale i to nie pomogło w wyscigu z czasem. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Może rozbij to na etapy:
1. Wrzucenie zawartości XML do pomocniczej tabeli. Każdy rekord miałby kolumnę "sprawdzone" o wartościach 0/1. 2. Kolejnymi CRONami odpytuj tą tabelę pobierając porcję rekordów sprawdzone=0, sprawdzaj, rób co tam masz robić, aktualizuj wartość kolumny na 1. Możesz też pominąć wykorzystanie tej kolumny, a po wykonaniu operacji na rekordzie po prostu usuwać go z bazy. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 02:50 |