Hi,
ich habe ein Problem mit meiner mysql Datenbank.
Ich habe ein Perl Script als cronjob unter Linux laufen ( alle 5 Min. ). Ich hole mit alle Datensätze aus einer Tabelle und laufe diese nun durch.
Mit diesen Datensätzen mache ich nun etwas z.B. den Wert in einer Spalte um einz erhöhen. Vorher mache ich ein 'start transaction' und am Ende ein 'commit' sowie ein 'rollback' bei einem Fehler
Mein Problem ist, dass die Transaktionen bei mir nicht funktionieren. Unter Windows laufen die Skripte wunderbar. Wieso nicht unter Linux ?
Eine weitere Frage hätte ich noch zu cronjobs : Es ist möglich, dass ein cronjob/script länger läuft als 5 Minuten, z.B. bei vielen Datensätzen. Wird ein weiterer gestartet, wenn ich das gleiche Script noch aktiv ist ?
ich habe ein Problem mit meiner mysql Datenbank.
Ich habe ein Perl Script als cronjob unter Linux laufen ( alle 5 Min. ). Ich hole mit alle Datensätze aus einer Tabelle und laufe diese nun durch.
Code:
while(row = get_datensatz)
{
}
Mit diesen Datensätzen mache ich nun etwas z.B. den Wert in einer Spalte um einz erhöhen. Vorher mache ich ein 'start transaction' und am Ende ein 'commit' sowie ein 'rollback' bei einem Fehler
Code:
while(row = get_datensatz)
{
'start_transaction'
boolean flag = bearbeite_datensatz(row);
if(flag = true)
'commit'
else
'rollback'
}
Mein Problem ist, dass die Transaktionen bei mir nicht funktionieren. Unter Windows laufen die Skripte wunderbar. Wieso nicht unter Linux ?
Eine weitere Frage hätte ich noch zu cronjobs : Es ist möglich, dass ein cronjob/script länger läuft als 5 Minuten, z.B. bei vielen Datensätzen. Wird ein weiterer gestartet, wenn ich das gleiche Script noch aktiv ist ?