Hi,
Nun hab ich aber das Problem wie ich Cronjobs in MySQL
regeln kann.
Die normalen Datafiles sind nicht ok
wegen des filelocking problems.
Da jede Benutzerkennunh ohnehin nur eine einzige crontab besitzt,
wüßte ich nicht, wie sich zwei Benutzer um diese streiten können.
Gut, die andere Möglichkeit währe,
per Cronjob ein von mir programmiertes Script JEDE Minute 1x
aufzurufen, und dieses Script schaut dann, 1 mal / Minute in
eine MySQL-Tabelle, ob dort scripte für diese Uhrzeit definiert
sind die es auszuführen gilt.
Schauerlich schlecht und sehr inperformant.
Das einzige Problem:
1 mal / Minute ist meiner Meinung nach SEHR Systembelastend.
Richtig. Und warum? Was genau ist so teuer? Wenn Du Dir das überlegst, kommst Du sofort auf die nageliegende Verbesserung.
- Macht das crontab mit datafiles anders,
oder werden die auch 1x / Minute gecheckt um zu sehen
ob die Uhrzeit grad stimmt?
Ich habe den Quelltext von cron (nicht crontab!) nicht gelesen, aber ich bin sicher, er macht es anders.
cron ist ein daemon ... warum wohl? Und was tut crontab, um mit ihm zu kommunizieren?
Wenn ja, dann kann ichs mit oben genannter Methode über
MySQL ja auch machen.
Du kannst in der Tat das Funktionsprinzip von cron übernehmen, ja.
(@ Script 1x /minute -> MySQL-Tabelle checken -> definierte Scripte
ausführen)
3) Wie könnte man das anders besser machen?
Indem Du mehr cachest und Änderungen der Umwelt nicht pollst, sondern sie Dir via Events mitteilen läßt.
Viele Grüße
Michael