Je pense que le faire toutes les heures ignore une option plus simple.
Une autre option consiste à supprimer l'entrée la plus ancienne chaque fois qu'une nouvelle entrée est créée. Cela supprime le besoin d'une tâche cron qui vide toute la table, car cela pourrait interrompre le chat en supprimant les entrées faites il y a quelques instants qui sont toujours pertinentes pour le chat.
Donc, dans votre sql "addMessage", supprimez simplement l'entrée la plus ancienne avant de soumettre la nouvelle.