PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Massenlöschen unmöglich?


Odysseus
24.06.2004, 09:27
In meinem Forum gibt es eine "Spam-Ecke", wo sich die Mitglieder auch mal austoben dürfen. Post-Count und Aufnahme in den Suchindex ist dort natürlich ausgestellt.
In dem Board kommt es zu ziemlich vielen Beiträgen, alls 2 Wochen so um die 15.000 an der Zahl. In regelmäßigen Abständen verschiebe ich alles, was dort älter als 3 Wochen ist, in ein Board namens "Müllverbrennungsanlage". Mit vB2 ging ich dann auf "mass prune", drückte ab und maximal zwei Tage später war alles weg. Ich konnte das Browserfenster schließen, der MySQL Server hat sich das Komando "gemerkt" und selbstständig alles im Laufe der Zeit gelöscht.

Mit vB3 wird der Löschvorgang jedoch nicht mehr bis zum Ende ausgeführt, wenn ich das Browserfenster schließe. Drei, vier Threads werden gelöscht, aber dann hört er einfach auf; insbesondere vor dickeren Brocken mit mehreren hundert Beiträgen.

Gibt es nicht eine zuverlässigere Möglichkeit, den Müll zu verbrennen? :(

Mystics
24.06.2004, 14:02
Mit vB2 ging ich dann auf "mass prune", drückte ab und maximal zwei Tage später war alles weg. Ich konnte das Browserfenster schließen, der MySQL Server hat sich das Komando "gemerkt" und selbstständig alles im Laufe der Zeit gelöscht.
Das das jemals möglich war, ist mir neu.

Wenn du die Themen löschen/verschieben willst, musst du das Browser-Fenster schon offen lassen.

Odysseus
24.06.2004, 15:17
Oh je ... :(

Man könnte alle benötigten Queries zum Löschen von Beiträgen ermitteln, diese in eine neue PHP-Datei schreiben und diese dann auf der Shell ausführen.
Oder man baut ein Script, das alle Beiträge im Forum "Müllverbrennungsanlage" löscht und stellt das als Cron ein ... das wäre fast noch besser ^^

Hältst du das für prinzipiell möglich?
Welche Tabellen müsste man da berücksichtigen? Wie gesagt, es ist ein Non-Count-Board und die Beiträge werden auch nicht im Suchindex erfasst.

Mystics
24.06.2004, 22:12
Hältst du das für prinzipiell möglich?Ja.
Welche Tabellen müsste man da berücksichtigen? In deinem Fall wohl nur post und thread. Natürlich müsste man dann auch noch die Counter des Forums aktualisieren.

Im Prinzip ist das nur ein "Gehe alle Themen dieses Forums durch, lösche alle Beiträge mit diesen Themen-IDs und lösche danach das jeweilige Thema".

Odysseus
25.06.2004, 10:02
OK, das klingt logisch. Ich werde mal versuchen, ob sich daraus nicht vielleicht sogar ein Hack basteln lässt.

Frage dazu:
Angenommen, ich mache da ein PHP-Script draus, welches man im vBulletin Cron System eintragen kann. Dieses Script hätte ja dann ebenfalls die bekannten Timeout-Probleme. Wenn man es aber als "echten" Cron seitens Betriebssystem (also Eintrag in die crontab) über den PHP-Parser aufruft - ist es dann auch von einem Timeout betroffen, oder arbeitet der Server es dann wie z.B. ein Shellscript auf jeden Fall bis zum Ende ab?