![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 11.04.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam następujący problem. Napisałem aplikację PHP odpalaną w przeglądarce, która co około minutę pobiera dane z pewnej strony i zapisuje wybrane na podstawie wzoru części do bazy. Problem jest właśnie z odświerzaniem tej strony co minutę (około, dokładność w tym wypadku nie ma większego znaczenia).
Próbowałem zarówno poleceniem
jak i funkcją header oraz (łopatologicznie) za pomocą dodatku do Firefoxa "Auto Refresh. Dodałem również na początku kodu funkcję: I każda z tych metod działa ale tylko do czasu. Bywa, że zagle "zacina się" po 20 minutach, czasem po 2 godzinach, czasem po 8 godzinach ale problem polega na tym, ze nie da się włączyć aplikacji i wyjść na cały dzień żeby ona sobie działała sama tylko trzeba kontrolować czy nie przestała działać. Po prostu aplikacja się odświerza ale nie kończy swojego działania tylko na faviconie w górnej części przeglądarki (gdzie są wyświetlone karty) jest standardowe kręcące się kółeczko odświerzania. Wiem, że najłatwiej byłoby to zrobić za pomocą CRONa ale niestety pracuję na XAMPPie windowsowym i nie mam takiej możliwości. Próbowałem też z systemowym Harmonogramem Zadań ale nie mogę go odpowiednio ustawić i w przeglądarce wyrzuca mi surowy kod skryptu. Prosiłbym o pomoc w rozwiązaniu tego problemu. Tak jak pisałem, dokładność czasowa nie ma większego znaczenia, może się czasem odświerzyć co 40 sekund, czasem co 80 sekund, nawet może czasami pominąć jedno odświeżenie, to nie jest żaden problem. Byle tylko nie było sytuacji gdy przestaje działać nagle i jest konieczne ręczne odświeżenie. Przypuszczam, że ta zawiecha może być spowodowana funkcją file_get_contents, która nie dostając odpowiedzi po prostu na nią czeka i nie pozwala załadować się instrukcjom odświerzającym. Dla ułatwienia dodam, że aplikacja jeżeli działa za długo to może zostać przerwana w dowolnym momencie bez żadnego uszczerbku dla zbieranych danych bo one się po prostu uzupełnią przy kolejnym odświerzeniu. Z góry dziękuję za pomoc i dobre chęci! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
A jak wywołujesz skrypt harmonogramem zadań?
http://blog.meloniq.net/2010/01/21/jak-uru...em-cron-na-win/ |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze... odświeŻać kurna! Aż oczy bolą jak się patrzy na Twoje "odświerzanie"....
Też mi się wydaje, że za pomocą harmonogramu windows można problem rozwiązać. Wywala Ci surowy kod bo pewnie odwołujesz się do pliku php w harmonogramie np. C:/webserv/httpd/index.php zamiast do adresu http tj. http://localhost/index.php. Mam rację? Ten post edytował sadistic_son 8.05.2015, 12:11:37 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 11.04.2014 Ostrzeżenie: (0%) ![]() ![]() |
Faktycznie źle używałem harmonogramu zadań bo odwoływałem się bezpośrednio do pliku z kodem. Dziękuję kolegom za szybką reakcję i przepraszam za ortografię (IMG:style_emoticons/default/smile.gif) (w sumie sam nie wiem dlaczego raz pisałem dobrze, a raz przez "rz") (IMG:style_emoticons/default/smile.gif)
Pozdrawiam i życzę miłego weekendu (IMG:style_emoticons/default/smile.gif) PS. Działa ładnie ale jak mówi jedno z praw Murphiego, każde rozwiązanie rodzi nowy problem (IMG:style_emoticons/default/smile.gif) Za każdym razem jak wywoływany jest skrypt (czyli co minutę), na ekranie pojawia się czarna konsola php (na czas wykonywania skryptu czyli jakiej 3 sekundy) i znika. Jest to strasznie uciążliwe bo praktycznie uniemożliwia normalne korzystanie z komputera. Da się to jakoś wyłączyć? Ten post edytował skorpionek93 8.05.2015, 13:58:25 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 14:45 |