![]() |
![]() ![]() |
![]() |
![]()
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 ... |
|
|
![]()
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! |
|
|
![]()
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 ... |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Hmm a moze jest inny lepszy sposob na to ... Jest ![]() 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. -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 4.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jest ![]() 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 ... |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
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? -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 12.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
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? |
|
|
![]()
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... |
|
|
![]()
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? |
|
|
![]()
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! |
|
|
![]()
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)... |
|
|
![]()
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ą. ![]() -------------------- ![]() 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! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.06.2025 - 19:03 |