Autor Zpráva
PaD
Profil *
Zdravim,

já vim, že databáze mají samostatné téma, ale myslím, že to je spíše o PHP a databéze je v tom nevině. Takže:

Když človek zavolá v PHP tuto funkci, tak to je takové čekání na Godota.

Buď požadovaná událost nastane a PHP pokračuje v provádění programového kódu a nebo ne a je problém.

Nevíte, jak ukončit za určitý časový interval provádění této (nebo lépe obecně libovolné) funkce?

Diky za radu
PaD
BaTeCzKo
Profil
break; ?
PaD
Profil *
To právě ne... když se zavolá funkce [http://cz2.php.net/ibase_wait_event]ibase_wait_event()[/url], tak se provádění skriptu pozastaví do příchodu odchytávané události.

Například večer jsem spustil ve 23:30:45 skript a odchytvaná událost byla databází poslána až ráno v 07:09:57. Do té doby skript čekal. Jak bych při volání funkcenastavil časové omezení pomocí break?

A to celé zařídil krátký kód

$res = date('H:i:s').'<br />';
ibase_wait_event($connection, $event);
$res .= date('H:i:s');
echo $res:

Když nelze určit timeout pro tento typ funkcí, tak ta otázka opravdu nepatří do fóra pro PHP. Jediné, co mě totiž napadlo je zařídit po určité době poslání jiné události, která by byla rovněž odchycena touto funkcí. Ale jak zařídit, aby se poslala po 30s jiná událost, to je otázka do fóra pro databáze.

PaD
PaD
Profil *
ještě oprava url:
ibase_wait_event()
llook
Profil
To je těžký, PHP nemá podporu vláken. Napadá mě akorát jedno řešení a upozorňuju, že za rámeček si to nedáte:

Prostě ten zdržující kód umístit do samostatného PHP souboru a ten tím hlavním souborem volat přes HTTP (fopen('http://localhost/operace-nad-ibase.php', 'r')). Pak lze nastavit timeout pro to HTTP spojení (stream_set_timeout()).
Toto téma je uzamčeno. Odpověď nelze zaslat.

0