Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Apache]Auto uruczmianie skryptu
Forum PHP.pl > Forum > Serwery WWW
patryczakowy
Mam zainstalowanego WebServ pod Windows xp mam odpalone skrypty które wykonują się po około 30 minut
czasami mniej czasami więcej więc regularne odpalanie np co 45 minut odpada raz może za dużo czasu czekać raz może być za szybko,
co można zrobić żeby skrypt odpalał się ponownie po 3 minutach jak zakończy wykonywanie?

Dodam że skrypty są w php i co jakiś czas wysyłają informacje na ekran

Z góry dzięki za rady.
erix
Zacznijmy od tego, co te skrypty robią. Jeśli chodzi o działanie skryptów, najpierw spróbuj przejść na IIS (Apache pod Windows często się sypie), dopiero potem spróbuj coś kombinować.
patryczakowy
A napisałem robota mi webServ chodzi już jakieś 48 godzin bez przerwy jak na razie żadnych oznak sypania robocik łazi po internecie i pobiera ale chce by po wykonaniu zadania przysiadł sobie i od nowa czas wykonania zadania zawsze jest różny trudny do przewidzenia.
na ekran wysyła jakieś przypadkowe dane żebym wiedział że żyje a nie się np zapętlił. korzystałem z rad kolegów z innego tematu z opcji w oprze "odświeżaj co.." ale nie zdała egzaminu bo potrafiła odświeżyć jeszcze niezaładowaną do końca stronę.
erix
A nie lepiej startować skrypt jako konsolka...?

Wtedy wystarczy wywołać systemowo:
Kod
start php -f robot.php
i nowa instancja sobie leci, stara kończy wykonanie.
patryczakowy
możesz uściślić jak jako konsolka nie za bardzo rozumie?
thek
Chodzi mu o to, że skrypt uruchamiasz w powłoce systemowej poleceniem jako proces, nie zaś z poziomu przeglądarki jak to się zazwyczaj skrypty php uruchamia.
patryczakowy
ale którą konsole chodzi tą windowsowską co pokazuje się po wpisaniu cmd? czy może apache ma jakąś swoją? bo w winodwsowskiej prubowałem i co najwyżej mi się skrypt w notatniku otworzył
erix
Pokaż, co otworzyłeś.

Jeśli edycję - coś zepsułeś.
patryczakowy
W zależności gdzie się znajduje
w katalogu webserwa:
Kod
start php -f robot.php

otwiera mi katalog php
jeśli zmienię na
Kod
start php robot.php -f

nie znajduje pliku przechodzę do httpd i ponownie odpalam powyższą komendę to otwiera mi się notatnik
jmail
php nie będzie działało webserv chyba jako moduł dodaje php do apache'a a nie jako cgi


pobierz sobie wget dla windows http://pages.interlog.com/~tcharron/wgetwin.html i zapisz skrypt na przykład taki

wget -q -O c:\test.html http://www.jmail.pl
#DEL /Q c:\test.html

i w miejsce http://www.jmail.pl wstaw skrypt który ma się wywoływać.

zabisz jako skrypt.bat na przykład i zaplanuj w zaplanowanych zadaniach w Windows


patryczakowy
zaplanowanie zadania Windows odpadają gdyż nigdy nie znam czasu wykonania skryptu a zależy mi żeby po skonczeniu wykonywania odczekał minute i jeszcze raz ruszył
erix
Cytat
W zależności gdzie się znajduje
w katalogu webserwa:

Ok, najpierw spróbuj bez start, bo nie wiem, czy sam skrypt dobrze wywołujesz.
jmail
masz biggrin.gif normalnie to jak wyprawa w daleką podróż była biggrin.gif jak zrobnić nieskończoną pętlę w shellu windowym, żeby póxniej jeszcze odczekało 60 sekund :F

Teraz to wrzuć do zaplanowanych zadań na start systemu.

na początku opóźniam o 120 sekund dając czas na podniesienie się wszystkich usług - jak za mało daj swoje tongue.gif

Kod
@echo off

ping 127.0.0.1 -n 120 -w 1000

:START

wget -q -O c:\test.html http://localhost/sciezka_do_skryptu/skrypt.php
DEL /Q c:\test.html


ping 127.0.0.1 -n 60 -w 1000

GOTO START
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.