Nie wiem jak takie coś zrobić.
Najlepszym rozwiązaniem będzie w tym przypadku php.
Dalej jest aktualne, proszę pisać.
// edit:
Tak więc skrypt dopisał mi
wookieb za co mu dziękuje. Działa tak jak chciałem.
<?
include('dane.php');
$beginScriptTime = time(); // czas rozpoczecia
$maxTiime = 60; // maksymalny czas wykonywania skryptu
$checkIntervall = 2; //Co ile sekund ma sprawdzic, czy nie nadszedl czas
$downloadFiilesLimit = 5; // limit sciaganych plikow na raz
while( (time() - $beginScriptTime) < $maxTime ) {
// liczymy ile sie sciaga
$result = mysql_query('SELECT count(id) as ile FROM kolejka WHETE pobieram=1');
// czy przebil limit
if($result['ile']>$downloadFilesLimit)
{
// czekamy sobie
continue;
}
// szukamy pierwszego zadania
$result = mysql_query('SELECT id,link,czas FROM `kolejka` WHERE pobieram=0 LIMIT 1');
if($count<0)
{
// jezeli nie ma zadania czekamy
continue;
}
$linki = $r['link'];
preg_match('#http\://(.*"")?\.wrzuta\.pl/audio/([0-9A-Za-z_-]""*)/?([0-9A-Za-z_,-""]*)?#', $linki, $url);
{
// oznaczamy ze wlasnie pobieramy
mysql_query('UPDATE kolejka SET pobieram = 1 WHERE id = '.$r['id']); // rozpoczynamy sciaganie
@copy('http://'.$url[1].""'.wrzuta.pl/sr/f/'"".$url[2], "../down2/$url[3].mp3"); $link_id = $r['id'];
// nie usuwamy rekordu tylko
// a) albo go przenosimy do tabeli z logami
// b) oznaczamy ze zakonczony
// chyba lepsze bedzie a
$downloadTime = time() - $startDownload; // jezeli czas sciagania byl tak krotki (albo byl jakis blad), ze nie przekroczylimy czasu co ile ma sprawdzac
// to czekamy
if($downloadTime<$checkInterval)
{
sleep($checkInterval - $downloadTime); }
}
else
{
// bledny link to czekamy
}
}
?>
Ten post edytował Norbit_24 5.03.2010, 08:45:32