WordPress Pseudo-Cronjob-System deaktivieren

WordPress verfügt über ein Pseudo-Cronjob-System, über welches regelmäßige Aufgaben seitens WordPress ausgeführt werden. Hintergrund ist, dass die meisten Webhosting-Pakete über keine echte Cronjob-Funktionalität verfügen. Ausgelöst wird das Pseudo-Cronjob-System durch Besuche der Webseite.

Allerdings führt dies auch zu Problemen; da es so vorkommen kann, das bestimmte Dinge, wie die Veröffentlichung geplanter Artikel, sich verzögern können. Wird WordPress auf einem dedizierten Server ausgeführt, kann hier auf einen echten Cronjob gewechselt werden. Dazu müssen zur Konfigurationsdatei wp-config.php folgende Zeilen hinzugefügt werden:

/* Deaktiviere WordPress Pseudo-Cronjob-System */
define('DISABLE_WP_CRON', true);

Damit die Cronjob-Funktionalität weiterhin funktioniert, muss der Cronjob entsprechend eingetragen werden. Dazu wird die Crontab-Datei im Kontext des Nutzers www-data geöffnet:

sudo -u www-data crontab -e

Dort sollte dann die entsprechende Zeile hinzugefügt werden:

*/1  *    * * *   php /var/www/wordpress/wp-cron.php

Damit werden die Aufgaben, welche WordPress im Rahmen seines Pseudo-Cronjob-System durchführt, nun durch einen echten Cronjob durchgeführt. Damit ist die Zuverlässigkeit des Systems erhöht und geplante Aufgaben, werden immer zeitnah erledigt.

twitter-eraser unter Ubuntu installieren

Bei „twitter-eraser“ handelt es sich um ein Werkzeug (in Form eines Pythonskriptes) zum löschen von alten Tweets. Möchte man das Skript unter Ubuntu ausführen/einrichten sind folgende Schritte im Terminal nötig:

git clone https://github.com/ilf/twitter-eraser
apt-get install python-tweepy

Anschließend sollte man die Datei „radiergummi.py“ bearbeiten und dort die entsprechenden Limits einstellen. Für den „Consumer key“, das „Consumer secret“, den „Access token“ und das „Access token secret“ besucht man dann die Webseite https://dev.twitter.com/apps und generiert diese dort, indem man eine neue Applikation anlegt. Wichtig ist dabei das man in den Einstellungen den „Application type“ auf „Read, Write and Access direct messages“ stellt.

Nun muss nur noch der entsprechende Cronjob eingerichtet werden. Dazu wird mittels „crontab -e“ die entsprechende Datei geöffnet folgende Zeile hinzugefügt:

*/45 *    * * *   python /home/seeseekey/radiergummi.py

Damit wird das Skript alle 45 Minuten ausgeführt. Allerdings sollte man es vorher noch manuell ausprobieren und die Funktionsfähigkeit zu überprüfen. Kürzer sollte man die Cron Zeit im übrigen nicht einstellen, da per OAuth nur 350 Updates pro Stunde getätigt werden dürfen.

Weitere Informationen gibt es unter:
https://seeseekey.net/archive/8209
https://seeseekey.net/archive/8132
http://wiki.ubuntuusers.de/Cron