Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Odpalanie crona co sekundę ?
radone
post 4.01.2009, 17:21:11
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 4.01.2009

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


Witam,
zastanawiam się czy da się odpalić jakiś skrypcik co sekundę za pomocą crona. Widziałem ze minimalny czas co jaki może być odpalany cron to 1 minuta, lecz potrzebuje odpalać skrypt co sekunde, macie jakieś pomysły ?

Niby można odpalać jakąś metodę co minute i w niej umieścić pętle od 0 do 60 i usypiać skrypt metoda sleep na 1 sekundę ? Co sądzicie o takim sposobie ...
Go to the top of the page
+Quote Post
erix
post 4.01.2009, 17:43:53
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Prosty skrypt basha:
http://forum.slicehost.com/comments.php?Di...ID=2767#Item_18

Ale w jakim celu odpalać skrypt co sekundę?

Ten post edytował erix 4.01.2009, 17:44:28


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
radone
post 4.01.2009, 17:52:24
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 4.01.2009

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


Robię coś na wzór portalu podbij.pl, i ma byc możliwość ustawiania własnych botów do podbijania ceny. I wymyśliłem sobie ze będzie odpalany skrypt po stronie serwera ktory bedzie czuwal nad tym kiedy uruchomić konkretnego bota do podbijania ceny.

Hmm a moze jest inny lepszy sposob na to ...
Go to the top of the page
+Quote Post
flashdev
post 4.01.2009, 18:09:54
Post #4





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

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


Cytat(radone @ 4.01.2009, 17:52:24 ) *
Hmm a moze jest inny lepszy sposob na to ...


Jest smile.gif
I to misie odrazu nasuneło kiedy ujawniłeś do czego Ci to potrzebne.
Przecież nie musisz skryptu uruchamiać dokładnie w momencie przed zakończeniem limitu czasu. Wystarczy, że masz zapamiętane daty wszystkich zdarzeń, a później kiedy tylko chcesz pobrać jakąś informację na temat danego zdarzenia wyciągasz z bazy danych wszystkie zdarzenia (podbicie itp) dotyczące tej aukcji i analizujesz, czy juz jest zakończona, czy jeszcze został czas, ile czasu zostało.
Myśle, że tak sie tworzy wszystkie gry mmorpg.


--------------------
Go to the top of the page
+Quote Post
radone
post 4.01.2009, 18:21:34
Post #5





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 4.01.2009

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


Cytat(flashdev @ 4.01.2009, 18:09:54 ) *
Jest smile.gif
I to misie odrazu nasuneło kiedy ujawniłeś do czego Ci to potrzebne.
Przecież nie musisz skryptu uruchamiać dokładnie w momencie przed zakończeniem limitu czasu. Wystarczy, że masz zapamiętane daty wszystkich zdarzeń, a później kiedy tylko chcesz pobrać jakąś informację na temat danego zdarzenia wyciągasz z bazy danych wszystkie zdarzenia (podbicie itp) dotyczące tej aukcji i analizujesz, czy juz jest zakończona, czy jeszcze został czas, ile czasu zostało.
Myśle, że tak sie tworzy wszystkie gry mmorpg.


Hmm niby tak ale tutaj jest taka zależność ze jeżeli użytkownik ustawi swojego bota podbijającego cene to jeśli czas aukcji zbliża się do końca to musi odpalić tego bota i dodatkowo wydluzyc czas aukcji, a z tego co napisales zrozumialem ze analize przeprowadzamy po zakonczeniu czasu ...
Go to the top of the page
+Quote Post
flashdev
post 4.01.2009, 18:37:30
Post #6





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

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


Cytat(radone @ 4.01.2009, 18:21:34 ) *
po zakonczeniu czasu ...


Nie koniecznie o to mi chodziło. Analize wykonujesz wtedy, kiedy potrzebny jest wynik tej analizy, czyli np gdy za pomocą ajaxa użytkownik poprosi o dane, tak jak to się dzieje na podbij.pl
Może to być przed zakńczeniem aukcji, a moze być po teoretycznym zakończeniu. Jakie to ma znaczenie, skoro przy wywołaniu skryptu obliczysz nowy czas i wyswietlisz parwidłowe dane?


--------------------
Go to the top of the page
+Quote Post
wiechol
post 15.01.2009, 14:55:19
Post #7





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

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


Cytat(flashdev @ 4.01.2009, 18:37:30 ) *
Nie koniecznie o to mi chodziło. Analize wykonujesz wtedy, kiedy potrzebny jest wynik tej analizy, czyli np gdy za pomocą ajaxa użytkownik poprosi o dane, tak jak to się dzieje na podbij.pl


Wychodząc z takiego założenia jeśli nikt w danej chwili nie będzie miał włączonej przeglądarki nie będą wysyłane żądania i wszystko stanie. Ma ktoś pomysł jak zabezpieczyć się przed tego typu przypadkiem?
Go to the top of the page
+Quote Post
sowiq
post 15.01.2009, 15:11:16
Post #8





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Ale flashdev podał Ci chyba jedyne rozsądne rozwiązanie.

Przykład:
- crona nie odpalasz wogóle (ew. co jakieś 5 minut, jeżeli chcesz wysyłać powiadomienia od razu po zakończeniu aukcji)
- przy wejściu użytkownika na stronę robisz coś w stylu symulacji podbić, tzn zamiast robić 1 podbicie co sekundę, robisz 60 po minucie, symulując przy okazji podbicia kilku użytkowników. W ten sposób użytkownik wchodząc na stronę, widzi kto prowadzi (zostało to obliczone w czasie generowania strony) i inne informacje. Nie musi wiedzieć, czy było to obliczane na bieżąco, czy w czasie generowania strony.

Odpalając skrypt co sekundę szybko zajeździsz serwer jeśli popularność Twojego serwisu wzrośnie...
Go to the top of the page
+Quote Post
damians
post 26.03.2009, 09:27:29
Post #9





Grupa: Zarejestrowani
Postów: 91
Pomógł: 1
Dołączył: 27.12.2003
Skąd: z łodzi

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


Powracam to tego postu.

A jeśli zrobić inaczej. Pamiętajmy że to musi działać szybko!
Mianowicie:
odpalać crona co minute i żeby działał 59sekund ale czas max wykonania skryptu 60sekund.
I cron będzie generował gotowe cache danych. To spowoduje ze serwer może będzie w użyciu non-stop ale użytkownik nie będzie męczył SQL'a a tylko zwykle pliki cache.
Jak myślicie?
Go to the top of the page
+Quote Post
erix
post 26.03.2009, 13:35:54
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ale przecież cache może wygenerować i użytkownik odwiedzając stronę...

Cytat
Pamiętajmy że to musi działać szybko!

Większy problem będzie z lagami na łączach, a nie harmonogramem.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
damians
post 26.03.2009, 13:41:53
Post #11





Grupa: Zarejestrowani
Postów: 91
Pomógł: 1
Dołączył: 27.12.2003
Skąd: z łodzi

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


No właśnie lagi na łączach zawsze będą, Nie zależnie od tego czy to użytkownik będzie generować czy serwer. Tak więc myślę ze zakładając że było użytkowników 50 jednocześnie to serwer będzie mniej obciążony jeśli 50 użytkowników tworzyło cache niż 1 serwer.
To pozwoli zaoszczędzić parę milisekund które umożliwią krótszy czas otwierania danych.

Tak właśnie myślałem, powiedzmy dla 10 użytkownikach to lepiej było by tworzyć żeby użytkownik generował cache, Ale dla większej ilości serwer. Chciałem analitycznie tworzyć listę głosujących przez same dane javy i boty ale problem jest w połączeniu (z synchronizowaniu javy i php)...
Go to the top of the page
+Quote Post
erix
post 26.03.2009, 14:11:48
Post #12





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
z synchronizowaniu javy i php

Chyba JavaScript, a nie Javy.

Lagi AJAX możesz sobie przecież prosto wyliczyć - kalibracja przez kilka żądań, pobierasz czas rozpoczęcia w ms, czas zakończenia, odejmujesz i wyliczasz średnią. winksmiley.jpg Choć nie wiem, po co Ci czas między klientem a serwerem...


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
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: 24.06.2025 - 19:03