Froschs Blog

Computer und was das Leben sonst noch so zu bieten hat

Zur Website | Impressum

Spaß mit pymysql

Dienstag, 19. Mai 2020

Ihr kennt das ja schon, wenn ich „Spaß mit $irgendwas“ in die Überschrift schreibe, hat mal wieder was nicht funktioniert, wie es sollte oder wie ich mir das dachte. In diesem Fall gab's aber tatsächlich eine recht schnelle Lösung.

Kürzlich habe ich auf zwei Servern ein Upgrade auf Devuan Beowulf durchgezogen. Dann entdeckte ich jeweils im daemon.log Einträge, die mir gar nicht gefielen:

May 18 16:32:01 seelilie mysqld: 2020-05-18 16:32:01 1852 [Warning] Aborted connection 1852 to db: '[$zensiert]' user: '[$zensiert]' host: 'localhost' (Got an error reading communication packets)

Und das alle paar Minuten seit dem 14. Mai früh morgens. Die Auslöser dieser Meldungen waren aufgrund der Zeitstempel schnell gefunden: Zwei per cronjobs aufgerufene Python-Scripte von mir, mit denen ich aus den Datenbanken der ClassicPress-Installationen unterschiedliche Daten aus den Wordfence-Tabellen auslesen lasse. Das eine wird alle fünf Minuten aufgerufen und greift bei jedem Aufruf in alle konfigurierten Datenbanken, das andere wird getrennt nach Blogs ein- bis zweimal pro Tag aufgerufen.

Ein wirkliches Problem schien aber gar nicht vorzuliegen, denn die Scripte bekamen nach wie vor die gewünschten Daten. Trotzdem wollte ich die Meldungen nicht ignorieren; es könnte ja etwas sein, was erst einmal keine sichtbaren Probleme macht.

Allerdings fingen die Meldungen nicht erst mit dem jeweiligen Upgrade an, sondern bereits vorher. Das schien es erst einmal komplizierter zu machen. (mehr …)


IMAP-Inbox von Thunderbird fixen

Freitag, 24. April 2020

Eine Nutzerin hatte ein IMAP-Postfach bei einem Provider A, das sie aber gekündigt hatte. Dann änderte sie die Zugangsdaten des Postfachs auf ihren neuen Mailprovider B, statt für diesen ein neues Postfach anzulegen. Thunderbird fand auf dem neuen Server natürlich nicht mehr die bisherigen Mails vor und ging einfach mal davon aus, daß diese – auch die lokalen Kopien davon – nicht mehr relevant seien. Well, Thunderbird irrte.

(Das hätte mir übrigens auch passieren können; ich benutze ja ausschließlich POP3-Postfächer, und da geht sowas tatsächlich, denn bei POP3 braucht Thunderbird ja keine korrespondierenden Abbildungen auf dem Mailserver.)

Damit ich mir das genauer ansehen konnte, hat mir die Nutzerin ihr gesamtes Thunderbird-Verzeichnis geschickt. Nach einer kurzen Inspektion war klar: Thunderbird hat die gesamte Korrespondenz aus diesem IMAP-Postfach auch nochmal lokal gespeichert. Damit hatte ich gleich eine gute Nachricht: Verloren ist nichts, Thunderbird zeigt die E-Mails nur einfach nicht mehr an. (mehr …)


Python: (Fast) alles ist eine Liste

Samstag, 16. November 2019

„In Python ist alles eine Liste“, erklärte mir zu Beginn Bison aus dem Chaosdorf, als ich gerade anfing, Python zu lernen. An die Denkweise konnte ich mich gut gewöhnen. In den letzten Monaten ist sie mir allerdings in einem, ähm, speziellen Fall so richtig auf die Füße gefallen, und zwar im Zusammenhang mit Feldabfragen in MySQL. Heute habe ich endlich die Lösung gefunden.

Seit einiger Zeit bauen mir die Scripte aus meinem Projekt htmlglue meine statische Website zusammen. Dabei bekommt die Startseite jedes Mal ein anderes Zufallsfoto, dessen Daten aus der Datenbank meiner Media-Website gezogen werden; die Bilder selbst stehen natürlich nicht in der Datenbank, aber die Datenbank kennt den jeweiligen Pfad im Filesystem. Die Media-Website läuft unter Piwigo, und dessen Datenbank ist, wie üblich, in MySQL angelegt (ich verwende allerdings MariaDB). Und mit den zusätzlichen Informationen zu den Bildern hatte ich gelegentlich so ein kleines, größeres Problem. (mehr …)


Apache-Workaround in Python

Donnerstag, 15. Dezember 2016

Nach mehreren Tagen in einem wirklich üblen Burnout habe ich nun wieder genug Konzentration zusammen, um an einem Programmierprojekt weiterzuarbeiten. Dabei geht es um einen Workaround für einen durchaus bekannten, acht Jahre alten Bug im Webserver apache, der nicht reproduzierbar ist und daher bislang auch nicht behoben werden kann.

Mir lief dieser Bug zum ersten Mal im Jahr 2009 über den Weg, als apache2 nach dem Upgrade von Debian Etch auf Debian Lenny plötzlich zum Speicherfresser wurde. Auch ein Wechsel des Hosts änderte daran nichts, und ich wechselte ja bis 2010 sogar zweimal. (mehr …)