Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> ponownie CRON lecz w nieco innym wydaniu
dancone
post 5.11.2003, 12:11:06
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 30.09.2003
Skąd: gorzów wlkp.

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


Większość pytań dotyczy zazwyczaj zastąpienia cron'a skryptem. Nie znalazłem jednak rozwiązania tematu zbliżonego.
Mianowicie:

Admin serwera generuje cron najczęściej o każdej pełnej godzinie i zaleca umieszczenie w katalogu głównym (klienta) plik:
cron-hourly.php (odczyt cron co godzinę)
cron-daily.php (odczyt cron co dzień)
etc...
naturalnie cron odczytuje z interpreterem php, pl, py, cgi w zależności od rozszerzenia pliku w katalogu głównym.

Na czym polega nasz problem?
1. Posiadamy skrypt w jakimś katalogu, np. ./kiosk/plik.php który może być uruchomiony jedynie w katalogu ./kiosk.
W pliku cron-hourly.php zapisanym w głównym katalogu powinniśmy umieścić cały skrypt jednak nie możemy ze względu na:

- poprawność działania tego skryptu
- bezpieczeństwo danych
(ze strony praktycznej)
- ograniczenie rozmiaru cron-hourly.php (Pamiętajmy, że plików takich jak plik.php jest kilka na serwerze w innych katalogach.

2. Plik ./kiosk/plik.php potrzebujemy odświeżać (powiedzmy) co 10 min.

W prawdzie mam jakąś wizję ale... z nadmiaru pomysłów zabrnąłem w pusty zaułek.
Zapewne ktoś wymyślił lub wymyśli coś innego a przy tym w tym forum temat CRON zostanie "doszczętnie" wyczerpany.
Go to the top of the page
+Quote Post
scanner
post 5.11.2003, 12:12:54
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Powiedz, co wymyśliłeś, i do czego to potrzebujesz.
A my pomożemy Ci w wyborze słusznej drogi.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
dancone
post 5.11.2003, 16:16:36
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 30.09.2003
Skąd: gorzów wlkp.

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


Hmmm...
Gdybym był bardziej zaawansowanym informatykiem....
Potrzebuję niezależnie z różną częstotliwością odświeżać skrypty w różnych katalogach.
Wszystkie parametry pobieram z bazy sql (np. częstotliwość odświeżania, etc.).

przykładowo:

[php:1:68effbcad7]<?php

$rate = 5; //ile razy na godzinę
$r=1;
$x=1;

if($x == 1)

while ($rate > $r)
{

//ta pętla powielona w zależności od ilości skryptów.
$time = time();
$sleep = 5; //opóźnienie w sek.

while (true) {
if (time() == $time+$sleep)
break;
}
$f=fopen ("http://domena.pl/katalog/plik.php", "r");
$f=fclose($f);
$r++;
}

?>[/php:1:68effbcad7]
Go to the top of the page
+Quote Post
adwol
post 6.11.2003, 00:01:04
Post #4





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Cytat
naturalnie cron odczytuje z interpreterem php, pl, py, cgi w zależności od rozszerzenia pliku w katalogu głównym.

Nie. Jeśli skrypt ma poprawnie sformatowaną pierwszą linię:
Kod
#!/sciezka/do/interpretera

i ustawiony bit uruchamiania w prawach dostępu to cron po prostu uruchamia ten plik. Resztą zajmuje się system.
Cytat
1. Posiadamy skrypt w jakimś katalogu, np. ./kiosk/plik.php który może być uruchomiony jedynie w katalogu ./kiosk.

Zawsze możemy w cron-hourly.php umieścić:
[php:1:73aab1581b]<?php
chdir('kiosk');
exec('./plik.php');
?>[/php:1:73aab1581b]
Cytat
W pliku cron-hourly.php zapisanym w głównym katalogu powinniśmy umieścić cały skrypt jednak nie możemy ze względu na:

- poprawność działania tego skryptu
- bezpieczeństwo danych
(ze strony praktycznej)
- ograniczenie rozmiaru cron-hourly.php (Pamiętajmy, że plików takich jak plik.php jest kilka na serwerze w innych katalogach.

Mógłbyś przybliżyć dlaczego nie możemy bo jakoś nie widzę tu żadnych ograniczeń.
Cytat
2. Plik ./kiosk/plik.php potrzebujemy odświeżać (powiedzmy) co 10 min.

Rozwiązanie może brutalne i nie zawsze skuteczne ale jeśli admin nie pozwala na korzystanie z crona częściej niż raz na godzinę:
[php:1:73aab1581b]<?php
chdir('kiosk');
for ($i = 0; $i < 6; $i++)
{
exec('./plik.php');
sleep(600);
}
?>[/php:1:73aab1581b]
Można też użyć programu at.
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: 10.08.2025 - 03:08