Hallo,
ich habe folgendes Problem:
Ich würde gerne unter WinXP ein php-script welches aus einer datei sql-queries (sofern vorhanden) ausliest und ausführt schreiben.
Aus performance-gründen würde ich dazu gerne eine persistente Verbindung zur DB (mysql auf entferntem Webserver, Client-Libraries mit OpenSSL) benutzen.
Im Prinzip sollte das Skript so (oder ähnlich) aussehen:
Was ich suche ist also eine Funktion die möglichst ressourcenschonend eine gewisse Zeit einfach 'nichts' macht.
Das kleine Skript benutzt die PHP5-CLI unter WinXP auf einer recht flotten Maschine.
Über Vorschläge/Ideen wäre ich sehr dankbar.
Alex
P.S.:
[wen's interessiert]
Die schreibende Applikation ist ein PHP-GTK Client der leider nicht in der Lage ist mit selbstgestrickten, SSL-Fähigen mysql-client libraries zu arbeiten - daher der Umweg über einen 'Listener' per php5-cli der sich um update/inserts auf der Web-Datenbank kümmert.
Der GTK-Client liest von einem lokalen mysql-server der per beim Programmstart (und in regelmäßigen Abständen während das Programm läuft) per batch auf den stand der webdatenbank gebracht wird. Die batch benutzt das ebenfalls mit openssl-support selbstgebastelte tool mysqldump und anschliessend den mysql-client um die lokale datenbank zu füttern.
Am schluss soll alles zusammen ein Client werden der Kunden/Bestelldaten von einem Webshop abolt, sich um Rechnungen/Mahnungen/CRM kümmert und gleichzeitig die Daten auf dem Webserver bei Änderungen mit abgleicht um einem weiteren Mitarbeiter der nicht vor Ort ist Zugang zum aktuellen Status verschiedener Vorgänge zu gewähren ....
[Ok, ok @ Tobias]
ich habe folgendes Problem:
Ich würde gerne unter WinXP ein php-script welches aus einer datei sql-queries (sofern vorhanden) ausliest und ausführt schreiben.
Aus performance-gründen würde ich dazu gerne eine persistente Verbindung zur DB (mysql auf entferntem Webserver, Client-Libraries mit OpenSSL) benutzen.
Im Prinzip sollte das Skript so (oder ähnlich) aussehen:
PHP-Code:
while (is_file(FILENAME)) {
/*hier wird noch geprüft ob die datei gesperrt ist - e.g. ein lock-file der
schreibenden applikation vorhanden ist
*/
if (! is_file(LOCKFILE_GTK)) {
/*
hier wird eine datei erzeugt die der schreibende appikation
ein lock-file erzeugt:
*/
$query = file_get_contents (FILENAME);
mysql_query($query,$db);
/*
Den Inhalt von FILENAME löschen damit die queries nicht
mehrfach ausgeführt werden.
*/
/*
Das eigene Lockfile löschen
*/
}
/* und HIER ist auch schon das Problem:
-> warte ~ 1 sec. ressourcenschonend
*/
}
die ();
/*
beenden wenn die Datei nichtmehr vorhanden ist ...
*/
Was ich suche ist also eine Funktion die möglichst ressourcenschonend eine gewisse Zeit einfach 'nichts' macht.
Das kleine Skript benutzt die PHP5-CLI unter WinXP auf einer recht flotten Maschine.
Über Vorschläge/Ideen wäre ich sehr dankbar.
Alex
P.S.:
[wen's interessiert]
Die schreibende Applikation ist ein PHP-GTK Client der leider nicht in der Lage ist mit selbstgestrickten, SSL-Fähigen mysql-client libraries zu arbeiten - daher der Umweg über einen 'Listener' per php5-cli der sich um update/inserts auf der Web-Datenbank kümmert.
Der GTK-Client liest von einem lokalen mysql-server der per beim Programmstart (und in regelmäßigen Abständen während das Programm läuft) per batch auf den stand der webdatenbank gebracht wird. Die batch benutzt das ebenfalls mit openssl-support selbstgebastelte tool mysqldump und anschliessend den mysql-client um die lokale datenbank zu füttern.
Am schluss soll alles zusammen ein Client werden der Kunden/Bestelldaten von einem Webshop abolt, sich um Rechnungen/Mahnungen/CRM kümmert und gleichzeitig die Daten auf dem Webserver bei Änderungen mit abgleicht um einem weiteren Mitarbeiter der nicht vor Ort ist Zugang zum aktuellen Status verschiedener Vorgänge zu gewähren ....
[Ok, ok @ Tobias]
Kommentar