Skocz do zawartości

[SQL] Projekt bazy dla serpów


k0l3c

Rekomendowane odpowiedzi

Tak się teraz zastanawiam o co cała ta panika? :D

Razjer pierw mi pomagał, a teraz demotywuje :D

A ja zapomniałem zadać najważniejsze pytanie:

Co Twoim zdaniem "dokładnie" źle robię?

1. Ściąganie serpów przez file, a nie curla? hmm.. niby nie do tego, ale jednak również do tego, po za tym działać, działa, jest szybkie i być może planuję udawać usera, pobierać ciasteczka itd. (miałem w rękach taki skrypt, podawał header i zbierał cookie). Bardziej to dla G wiarygodne niż nadwyrężanie curla (tak mi się wydaje), a przy innym ip co frazę, no bajka.

2. Rysowanie tabeli sobie wyjaśniliśmy. Tylko Mion coś tam się doszukuje :> Ale czy jest lepsza metoda?

3. Crony, limity, proxy, to oczywiste.

4. Obciążenia.. a sklepy internetowe, wordpressy i inne? ba, samo operowanie przez phpmyadmin, tysiące zapytań na sekundę przy czyszczeniu eksportach i importach bazy, a w kodzie ledwie jedno zapytanie i efekt taki sam, jakoś nikogo to nie boli. Jak napisałem, potrzebna by była ciężka pętla i dużo jej wykonań, ale i tak limity by ją przerwały więc chyba nie ma tematu.

5. Obciążenie przez php?

Tyle, jeżeli coś zrozumiałem inaczej niż miałeś na myśli, przedstaw to łopatologicznie :D

Może dowiem się w którym iść kierunku..

Ciężka pętla?? Wystarczy błąd logiczny i uzależniona od niego pętla. Przykład poniżej, oczekujemy wyniku 20 a dostajemy 18 :D

<?php
$zmienna=0;
while($zmienna<10)
{
$mnozenie=$zmienna*2;
$zmienna++;
}
?>

Nie demotywuję, tylko kieruję w stronę innego podejścia do programowania. Przyswoić podstawy, potem eksperymentować i brać się za projekty.

--------------Dno jest wtedy,kiedy nie ma juz nawet mułu.--------------------

Turystyka na sprzedaż , Podróże małe i duże, Egipt, Turcja, Tunezja, Chorwacja...

Poszukuję zatrudnienia.

Będzie bez linka a co :D

poezjapozycjonowania(kropka)blogspot(kropka)com

NEW!!! - Blask Serpów (Prolog) W przygotowaniu: Chapter 1 - Blask Serpów

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 60
  • Dodano
  • Ostatniej odpowiedzi

Nie mam pomysłu na crona.

Wywoływać co powiedzmy 10min skrypt, który zaktualizuje kolejno 5 fraz z bazy, za każdym razem biorąc tylko te nie sprawdzone i po sprawdzeniu wszystkich ma nic nie robić?

Czy jakoś inaczej to rozwiązać?

penguins.jpg

Odwiedzaj regularnie mój blog o seo na lukaszt.pl podobno warto ;)

Odnośnik do komentarza
Udostępnij na innych stronach

a nie lepiej jak juz skonczy sie sekwencja i wszystkie rekordy beda zalatwione to calos zacznie sie od poczatku?

jak baza spuchnie to taka sekwencja moze byc wykonywana i kilka dni

ja bym zrobil tak ze jak juz sa wystkie zrobione to odznaczam jako niezrobione -> to mozna zrobic 1 zapytaniem do bazy -> i niech tyra od poczatku

Odnośnik do komentarza
Udostępnij na innych stronach

jak baza spuchnie to taka sekwencja moze byc wykonywana i kilka dni
żartujesz prawda {pytanie retoryczne}

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

wcale nie ;) ja on chce robic 5 rekordow na 10 min czyli 30 rekordow na godzine to w cigu 1 dnia zrobi 30 * 24 -> 720 rekordow

to co to za baza

Odnośnik do komentarza
Udostępnij na innych stronach

Haha.. to był przykład ;)

Przecież wiem ile by to zajęło ;)

Chodzi o najlepsze rozwiązanie aby ominąć timeouty i nie wysypać skryptu.

Gęstość odpytywania o ranking nie ma znaczenia, bo pytam przez kilka proxy, w miarę potrzeb dodam ich więcej.

penguins.jpg

Odwiedzaj regularnie mój blog o seo na lukaszt.pl podobno warto ;)

Odnośnik do komentarza
Udostępnij na innych stronach

wcale nie ;) ja on chce robic 5 rekordow na 10 min czyli 30 rekordow na godzine to w cigu 1 dnia zrobi 30 * 24 -> 720 rekordow

to co to za baza

Wiec rozważając czysto teoretycznie w ciągi roku zrobił by 365 x 720 = 262800 > rok -> Wiec faktycznie można zapytać "

to co to za baza" ;)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Co nadal mi nie pomaga..

Możecie mnie naprowadzić na dobrą ścieżkę?

Będę odpytywał z automatu każdą frazę tylko raz dziennie, crona planuję wywoływać co minutę od 00:01 do momentu aż sprawdzi wszystko.

Tylko jak to rozwiązać? wywoływać tylko jeden skrypt i on ma podawać kolejno grupy fraz?

I jak to zapisać? wstawić licznik w sql lub pliku? bo w zmiennej chyba odpada.

penguins.jpg

Odwiedzaj regularnie mój blog o seo na lukaszt.pl podobno warto ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Tylko jak to rozwiązać? wywoływać tylko jeden skrypt i on ma podawać kolejno grupy fraz?
Wywoływać crona możesz w nawet przez cały dzień co minuta choć dla pewnej ilości fraz lepiej będzie w przedziale określonego czasi np od 0:00 do 1:00 co n minut jeśli fraz będzie coraz więcej możesz ten czas przedłużyć.

A jak pobierać - proste zapytaniem SQL które będzie zwracać rekordy SELECT i drugim wstawiać wyniki na dany dzień i frazę w osobnej tabeli.

Wiec powiedzmy, że masz na start 100 fraz piszesz takie zapytanie które pobierze wszystkie następne je ograniczasz np LIMIT 10, wiec za każdym razem zapytanie będzie zwracało tylko 10 fraz do sprawdzenia do wyczerpania wszystkich na dany dzień co stwierdzasz po tym, że w drugiej tabeli dane da dany dzień DATE są wstawiane. Jednym słowem zapytania złączone lub kombinacje w PHP.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Ok, żeby się upewnić:

Pobieram 10 pierwszych rekordów dla których pozycje z dzisiejszą datą nie istnieją, aktualizuję je.

Jak sformułować warunek dla "nie istnieje = nie ma date=NOW()"?

penguins.jpg

Odwiedzaj regularnie mój blog o seo na lukaszt.pl podobno warto ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Tak na dany dzień po dacie YYYY-MM-DD nie istnieje, czyli zwróci zapytanie te frazy jak wstawisz to już zwróci mniej, aż do wyczerpania wszystkich na dany. Wiec jak cron wykona kolejny raz skrypt zapytanie nic nie zwróci i się zakończy dlatego cron możesz śmiało uruchamiać nadmiarowo. Kolejnego dnia operacja się powtarza :)

---

Jednak to nie takie proste jak piszesz date=NOW()"? < LIPA

https://dev.mysql.com/doc/refman/5.5/en/dat...-functions.html

DATE_FORMAT(now(), '%Y-%m-%d') < LEPIEJ

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

....

WHERE (DATE_FORMAT(now(), '%Y-%m-%d') > DATE_FORMAT(D.ostatnio_sprawdzona, '%Y-%m-%d') OR D.ostatnio_sprawdzona IS NULL ) LIMIT 10
Tylko pamiętaj, że NULL to nie to samo co "pusta" komórka w tabeli...

+++

Chodzi o to, ze jak wstawisz nowy keywords który nie był jeszcze sprawdzany wartość w kolumnie DATE ostatnio_sprawdzona musi mieć NULL dzięki temu warunek WHERE jaki podałem zwróci keywordsy jakie nie były wcale sprawdzane oraz te które nie były sprawdzane danego dnia :)

***

Wiec drążąc temat INSERT nie może być jako 'NULL', bo to nie będzie NULL, ale ciąg znaków NUL lecz samo NULL

INSERT INTO Testtable (nulowa) VALUES ( NULL)  < wstawi (wartość SQL) NULL
INSERT INTO Testtable (nulowa) VALUES ('NULL') < wstawi ciąg znaków (string)  NULL

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zamieszałeś :)

Czyli ogólnie dodać jeszcze kolumnę "data_ost_spr" do każdego keyworda?

I dla nowych ustawić jako NULL, ale nie jako 'null' czyli ciąg znaków. Ale to mi chyba zrobi jak w przypadku wstawiania id null, kolejne liczby.

penguins.jpg

Odwiedzaj regularnie mój blog o seo na lukaszt.pl podobno warto ;)

Odnośnik do komentarza
Udostępnij na innych stronach

@Czyli ogólnie dodać jeszcze kolumnę "data_ost_spr" do każdego keyworda?

Tak, bo możesz mieć tabelę A w której przechowujesz wszystkie keywords do sprawdzenie z ktorej wybierasz te do sprawdzenie po sprawdzeniu robisz UPDATE WHERE ID aktualizując datę w data_ost_spr i aktualną pozycje i drugą B w której przechowujesz pozycję dla danego dnia dla danego keywordsa. dzięki temu wszystko się upraszcza łatwiej wybrać bez podzapytań :D

OK, ja nie piszę jak masz Ty robić jak tylko przybliżam temat małymi cegiełkami... Jak chcesz się skonsultować może zadzwonić udzielę jednorazowej konsultacji dane znajdziesz klikając w banner :)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności