Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak to zrobić ? CRON
Lacki2006
post 4.01.2017, 12:03:26
Post #1





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 3.03.2012

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


Mam problem i nie wiem jak się za to zabrać może ktoś miał by pomysł ?

Mam baze danych w której mam wpisy
id 1 = 4
id 2 = 45
id 3 = 34
id 4 - 65
itd...

Potrzebuję tak zaprogramować crona aby otwierał stronę i podstawiam do zmiennej po kolei podkładał odpowiedni parametr z id
cron zaprogramuję aby był wykonywany co 30 sekund
co 30 sekund ma otworzyć stronę podkładając do każdego otworzenia kolejną zmienną np:
1:00 - <? $pobrana_zmienna = 4 // z id 1 ?>
1:30 - <? $pobrana_zmienna = 45 // z id 2 ?>
2:00 - <? $pobrana_zmienna = 34 // z id 3 ?>
2:30 - <? $pobrana_zmienna = 65 // z id 4 ?>

itd....

Ma ktoś pomysł jak to zrobić ?


--------------------
----------------------------------------------------------------------------
Najlepsza scianka reklamowa z darmową dostawą w całej polsce.
Go to the top of the page
+Quote Post
nospor
post 4.01.2017, 12:05:28
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No to zapisuj gdzies (plik, baza) aktualnie przetworzone id.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Lacki2006
post 4.01.2017, 13:02:45
Post #3





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 3.03.2012

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


Też tak myślałem ale problem polega na tym że trzeba by zrobić kolumny aktualna i następna przy wykonywaniu aktualnej pobierze informacje o nastepnej tylko co w sytuacji jak trzeba nędzie jakiś wpis wykasować czyli pobranie następnej pozycji będzie nie możliwe ?


--------------------
----------------------------------------------------------------------------
Najlepsza scianka reklamowa z darmową dostawą w całej polsce.
Go to the top of the page
+Quote Post
trueblue
post 4.01.2017, 13:08:00
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Następne id to pierwsze większe id od ostatnio przetwarzanego.


--------------------
Go to the top of the page
+Quote Post
lukaskolista
post 4.01.2017, 13:10:33
Post #5





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


Cytat
Następne id to pierwsze większe id od ostatnio przetwarzanego.
Otóż niekoniecznie. Wyobraź sobie, że zmieniamy id numeryczne na UUID (powodów może być wiele). Czemu zmieniamy? Ponieważ istnieje taka możliwość, a skoro istnieje, to należy ją przewidzieć a do tego jest całkiem prawdopodobna.

Najlepszym pomysłem jest tutaj skorzystanie z jakiejś kolejki.

Ten post edytował lukaskolista 4.01.2017, 13:12:15
Go to the top of the page
+Quote Post
nospor
post 4.01.2017, 13:14:51
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@lukaskolista wyobraz sobie ze spadnie ci na glowe meteoryt.A czemu spadnie? Bo istnieje taka mozliwosc. Temu siedz zawsze w bunkrze i nigdzie nie wychodz tongue.gif

@Lacki2006 to co trueblue napisal jest ok


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Lacki2006
post 4.01.2017, 13:15:44
Post #7





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 3.03.2012

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


no właśnie z kolejki z której można by w razie potrzeby usunąć jakieś id w razie konieczności tylko jak to zrobić ?


--------------------
----------------------------------------------------------------------------
Najlepsza scianka reklamowa z darmową dostawą w całej polsce.
Go to the top of the page
+Quote Post
lukaskolista
post 4.01.2017, 13:16:18
Post #8





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


@nospor przez takie myślenie powstają aplikacje-beton, których później za nic nie mozna ruszyć i trzeba pisać na nowo. Skoro moja dotychczasowa argumentacja Wam nie wystarcza, to podam inny przykład:

mamy rekordy z id 1,2,3,4
usuwamy rekordy 2 i 3

Po usunięciu nie można już sprawdzać, czy id+1 istnieje.

Napiszę to jeszcze raz: najlepszym pomysłem na przetwarzanie potokowe jest użycie narzędzi do tego przeznaczonych, czyli kolejek.

Ten post edytował lukaskolista 4.01.2017, 13:17:21
Go to the top of the page
+Quote Post
trueblue
post 4.01.2017, 13:20:05
Post #9





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Cytat(lukaskolista @ 4.01.2017, 13:16:18 ) *
mamy rekordy z id 1,2,3,4
usuwamy rekordy 2 i 3

Po usunięciu nie można już sprawdzać, czy id+1 istnieje.

Jeśli usunięte zostały rekordy 2 i 3, to ostatnio przetwarzany był rekord 1 (jeśli były usunięte przed przetworzeniem, jeśli po przetworzeniu to ostatni=3). Pierwszy większy to 4.


--------------------
Go to the top of the page
+Quote Post
lukaskolista
post 4.01.2017, 13:21:40
Post #10





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


W takim razie źle Cię zrozumiałem, takie podejście sprawdzi sie w przypadku id numerycznych inkrementowanych.
Go to the top of the page
+Quote Post
Pyton_000
post 4.01.2017, 13:26:36
Post #11





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


A nie możesz dodać kolumny z czasem uruchomienia? Wtedy pobierasz pierwszy bez daty.
Go to the top of the page
+Quote Post
Puszy
post 4.01.2017, 14:57:44
Post #12





Grupa: Zarejestrowani
Postów: 279
Pomógł: 42
Dołączył: 10.10.2011

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


@nospor No niestety muszę się zgodzić z lukaskolista, jeżeli coś może wystąpić, trzeba być na to przygotowanym chociażby poprzez jedno defaultowe działanie, nie raz przez brak takiej obsługi coś się sypało. Więc zabezpieczenie się o którym wspomina lukaskolista jest wg mnie jak najbardziej "życiowe". Z drugiej strony zgodzę się z Tobą, w tym konkretnym przypadku przy założeniu że na id jest nałożony primary key wystarczy select z użyciem min i większy od ostatniego.
Go to the top of the page
+Quote Post
nospor
post 4.01.2017, 15:12:07
Post #13





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Z drugiej strony zgodzę się z Tobą, w tym konkretnym przypadku przy założeniu że na id jest nałożony primary key wystarczy select z użyciem min i większy od ostatniego.
Ja wlasnie mowilem o tym konkretnym przypadku. nie popadajmy w paranoje i nie robmy wszystkiego by bylo przygotowane na wszystko.
Oczywiscie,sa sytuacje gdzie dobrze jest cos zrobic tak, by dalo sie to rozszerzyc latwo. Po to powstaje cala masa wzorcow by to ulatwiac, ale kurcze, nie wszedzie i nie za wszelka cene.

YAGNI naszym przyjacielem wink.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 15.07.2025 - 02:45